CloudWatch Synthetics
2 resource kinds. Generated from the operator's CRD schemas.
API Group:
aws.konfig.io/v1alpha1
SyntheticsCanary # CLOUD CONTROL · AWS::Synthetics::Canary
SyntheticsCanary manages AWS::Synthetics::Canary through the AWS Cloud Control API.
kubectl get syntheticscanaries · example on GitHub
Example
# SyntheticsCanary — CloudWatch Synthetics
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/synthetics.html#syntheticscanary
apiVersion: aws.konfig.io/v1alpha1
kind: SyntheticsCanary
metadata:
name: example-syntheticscanary
namespace: default
spec:
artifactConfig:
s3Encryption:
encryptionMode: example
kmsKeyArn: arn:aws:iam::123456789012:role/example-role
artifactS3Location: example
browserConfigs:
- browserType: CHROME
code:
blueprintTypes:
- example
dependencies:
- reference: example
type: LambdaLayer
handler: example
s3Bucket: example
s3Key: example
s3ObjectVersion: '1.0'
script: example
sourceLocationArn: arn:aws:iam::123456789012:role/example-role
deleteLambdaResourcesOnCanaryDeletion: false
dryRunAndUpdate: false
executionRoleArn: arn:aws:iam::123456789012:role/example-role
failureRetentionPeriod: 7
kmsKeyArn: arn:aws:iam::123456789012:role/example-role
name: example-syntheticscanary
providerRef:
name: example-syntheticscanary
region: us-east-1
provisionedResourceCleanup: AUTOMATIC
replicas:
- canaryState: example
kmsKeyArn: arn:aws:iam::123456789012:role/example-role
lastModified: 1
location: example
replicationStatus:
state: example
resourcesToReplicateTags:
- example
tags:
- key: example
value: example
vpcConfig:
ipv6AllowedForDualStack: false
securityGroupIds:
- example
subnetIds:
- example
resourcesToReplicateTags:
- example
runConfig:
activeTracing: false
environmentVariables:
key: value
ephemeralStorage: 1
memoryInMB: 1
timeoutInSeconds: 300
runtimeVersion: '1.0'
schedule:
durationInSeconds: example
expression: example
retryConfig:
maxRetries: 1
startCanaryAfterCreation: false
successRetentionPeriod: 7
tags:
- key: example
value: example
visualReference:
baseCanaryRunId: example-id
baseScreenshots:
- ignoreCoordinates:
- example
screenshotName: example-syntheticscanary
browserType: CHROME
visualReferences:
- baseCanaryRunId: example-id
baseScreenshots:
- ignoreCoordinates:
- example
screenshotName: example-syntheticscanary
browserType: CHROME
vpcConfig:
ipv6AllowedForDualStack: false
securityGroupIds:
- example
subnetIds:
- example
Spec
| Field | Type | Required | Description |
|---|---|---|---|
artifactConfig | object | — | Provide artifact configuration |
artifactConfig.s3Encryption | object | — | Encryption configuration for uploading artifacts to S3 |
artifactConfig.s3Encryption.encryptionMode | string | — | Encryption mode for encrypting artifacts when uploading to S3. |
artifactConfig.s3Encryption.kmsKeyArn | string | — | KMS key Arn for encrypting artifacts when uploading to S3. |
artifactS3Location | string | yes | Provide the s3 bucket output location for test results |
browserConfigs | array<object> | — | List of browser configurations for the canary |
browserConfigs[].browserType | enum | yes | Allowed: CHROME, FIREFOX |
code | object | yes | Provide the canary script source |
code.blueprintTypes | array<string> | — | |
code.dependencies | array<object> | — | List of Lambda layers to attach to the canary |
code.dependencies[].reference | string | yes | ARN of the Lambda layer |
code.dependencies[].type | enum | — | Type of dependency Allowed: LambdaLayer |
code.handler | string | — | |
code.s3Bucket | string | — | |
code.s3Key | string | — | |
code.s3ObjectVersion | string | — | |
code.script | string | — | |
code.sourceLocationArn | string | — | |
deleteLambdaResourcesOnCanaryDeletion | boolean | — | Deletes associated lambda resources created by Synthetics if set to True. |
dryRunAndUpdate | boolean | — | Setting to control if UpdateCanary will perform a DryRun and validate it is PASSING before performing the Update. |
executionRoleArn | string | yes | Lambda Execution role used to run your canaries |
failureRetentionPeriod | integer | — | Retention period of failed canary runs represented in number of days |
kmsKeyArn | string | — | KMS key ARN for encrypting the canary's Lambda function environment variables at rest. |
name | string | yes | Name of the canary. |
providerRef | object | — | ProviderRef selects the AWSProvider (account/region) this resource is reconciled against. |
providerRef.name | string | yes | Name of a cluster-scoped AWSProvider. |
providerRef.region | string | — | Region overrides the provider's region for this resource only. |
provisionedResourceCleanup | enum | — | Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Allowed: AUTOMATIC, OFF |
replicas | array<object> | — | List of replica locations for multi-location canary execution |
replicas[].canaryState | string | — | State of the replica canary (CREATING, READY, RUNNING, etc.) |
replicas[].kmsKeyArn | string | — | ARN of the KMS key used to encrypt the replica canary's Lambda function environment variables |
replicas[].lastModified | number | — | Last modified timestamp of the replica |
replicas[].location | string | yes | AWS region for the replica (e.g., us-east-1) |
replicas[].replicationStatus | object | — | Replication status for this replica |
replicas[].replicationStatus.state | string | — | Replication state: InProgress, InSync, or Inconsistent |
replicas[].resourcesToReplicateTags | array<string> | — | Resources to replicate tags to for this replica (e.g., lambda-function) |
replicas[].tags | array<object> | — | Tags to apply to this replica canary and optionally its Lambda function |
replicas[].tags[].key | string | yes | |
replicas[].tags[].value | string | yes | |
replicas[].vpcConfig | object | — | VPC configuration for this replica location |
replicas[].vpcConfig.ipv6AllowedForDualStack | boolean | — | Allow outbound IPv6 traffic on VPC canaries that are connected to dual-stack subnets if set to true |
replicas[].vpcConfig.securityGroupIds | array<string> | yes | |
replicas[].vpcConfig.subnetIds | array<string> | yes | |
replicas[].vpcConfig.vpcId | string | — | |
resourcesToReplicateTags | array<string> | — | List of resources which canary tags should be replicated to. |
runConfig | object | — | Provide canary run configuration |
runConfig.activeTracing | boolean | — | Enable active tracing if set to true |
runConfig.environmentVariables | map<string> | — | Environment variable key-value pairs. |
runConfig.ephemeralStorage | integer | — | Provide ephemeralStorage available for canary in MB |
runConfig.memoryInMB | integer | — | Provide maximum memory available for canary in MB |
runConfig.timeoutInSeconds | integer | — | Provide maximum canary timeout per run in seconds |
runtimeVersion | string | yes | Runtime version of Synthetics Library |
schedule | object | yes | Frequency to run your canaries |
schedule.durationInSeconds | string | — | |
schedule.expression | string | yes | |
schedule.retryConfig | object | — | Provide canary auto retry configuration |
schedule.retryConfig.maxRetries | integer | yes | maximum times the canary will be retried upon the scheduled run failure |
startCanaryAfterCreation | boolean | — | Runs canary if set to True. |
successRetentionPeriod | integer | — | Retention period of successful canary runs represented in number of days |
tags | array<object> | — | |
tags[].key | string | yes | |
tags[].value | string | yes | |
visualReference | object | — | Visual reference configuration for visual testing |
visualReference.baseCanaryRunId | string | yes | Canary run id to be used as base reference for visual testing |
visualReference.baseScreenshots | array<object> | — | List of screenshots used as base reference for visual testing |
visualReference.baseScreenshots[].ignoreCoordinates | array<string> | — | List of coordinates of rectangles to be ignored during visual testing |
visualReference.baseScreenshots[].screenshotName | string | yes | Name of the screenshot to be used as base reference for visual testing |
visualReference.browserType | enum | — | Allowed: CHROME, FIREFOX |
visualReferences | array<object> | — | List of visual references for the canary |
visualReferences[].baseCanaryRunId | string | yes | Canary run id to be used as base reference for visual testing |
visualReferences[].baseScreenshots | array<object> | — | List of screenshots used as base reference for visual testing |
visualReferences[].baseScreenshots[].ignoreCoordinates | array<string> | — | List of coordinates of rectangles to be ignored during visual testing |
visualReferences[].baseScreenshots[].screenshotName | string | yes | Name of the screenshot to be used as base reference for visual testing |
visualReferences[].browserType | enum | — | Allowed: CHROME, FIREFOX |
vpcConfig | object | — | Provide VPC Configuration if enabled. |
vpcConfig.ipv6AllowedForDualStack | boolean | — | Allow outbound IPv6 traffic on VPC canaries that are connected to dual-stack subnets if set to true |
vpcConfig.securityGroupIds | array<string> | yes | |
vpcConfig.subnetIds | array<string> | yes | |
vpcConfig.vpcId | string | — |
Status
| Field | Type | Required | Description |
|---|---|---|---|
attempt | integer | — | Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure. |
awsProvider | object | — | AWSProvider confirms the account and region this resource was reconciled against. |
awsProvider.accountId | string | — | AccountID the resource lives in. |
awsProvider.name | string | — | Name of the AWSProvider used; empty when the operator's own credentials were used. |
awsProvider.region | string | — | Region the resource lives in (empty for global services). |
conditions | array<object> | — | Conditions describe the current state of the resource. |
conditions[].lastTransitionTime | string | yes | lastTransitionTime is the last time the condition transitioned from one status to another. |
conditions[].message | string | yes | message is a human readable message indicating details about the transition. |
conditions[].observedGeneration | integer | — | observedGeneration represents the .metadata.generation that the condition was set based upon. |
conditions[].reason | string | yes | reason contains a programmatic identifier indicating the reason for the condition's last transition. |
conditions[].status | enum | yes | status of the condition, one of True, False, Unknown. Allowed: True, False, Unknown |
conditions[].type | string | yes | type of condition in CamelCase or in foo.example.com/CamelCase. |
id | string | — | Id of the canary Read-only: reported by AWS after creation. |
identifier | string | — | Identifier is the Cloud Control primary identifier of the resource. |
lastSyncTime | string | — | |
observedGeneration | integer | — | |
operation | string | — | Operation is the in-flight operation (CREATE, UPDATE, DELETE). |
operationStatus | string | — | OperationStatus is the last reported operation status. |
requestToken | string | — | RequestToken tracks an in-flight asynchronous operation. |
state | string | — | State of the canary Read-only: reported by AWS after creation. |
SyntheticsGroup # CLOUD CONTROL · AWS::Synthetics::Group
SyntheticsGroup manages AWS::Synthetics::Group through the AWS Cloud Control API.
kubectl get syntheticsgroups · example on GitHub
Example
# SyntheticsGroup — CloudWatch Synthetics
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/synthetics.html#syntheticsgroup
apiVersion: aws.konfig.io/v1alpha1
kind: SyntheticsGroup
metadata:
name: example-syntheticsgroup
namespace: default
spec:
name: example-syntheticsgroup
providerRef:
name: example-syntheticsgroup
region: us-east-1
resourceArns:
- example
tags:
- key: example
value: example
Spec
| Field | Type | Required | Description |
|---|---|---|---|
name | string | yes | Name of the group. |
providerRef | object | — | ProviderRef selects the AWSProvider (account/region) this resource is reconciled against. |
providerRef.name | string | yes | Name of a cluster-scoped AWSProvider. |
providerRef.region | string | — | Region overrides the provider's region for this resource only. |
resourceArns | array<string> | — | |
tags | array<object> | — | |
tags[].key | string | yes | |
tags[].value | string | yes |
Status
| Field | Type | Required | Description |
|---|---|---|---|
attempt | integer | — | Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure. |
awsProvider | object | — | AWSProvider confirms the account and region this resource was reconciled against. |
awsProvider.accountId | string | — | AccountID the resource lives in. |
awsProvider.name | string | — | Name of the AWSProvider used; empty when the operator's own credentials were used. |
awsProvider.region | string | — | Region the resource lives in (empty for global services). |
conditions | array<object> | — | Conditions describe the current state of the resource. |
conditions[].lastTransitionTime | string | yes | lastTransitionTime is the last time the condition transitioned from one status to another. |
conditions[].message | string | yes | message is a human readable message indicating details about the transition. |
conditions[].observedGeneration | integer | — | observedGeneration represents the .metadata.generation that the condition was set based upon. |
conditions[].reason | string | yes | reason contains a programmatic identifier indicating the reason for the condition's last transition. |
conditions[].status | enum | yes | status of the condition, one of True, False, Unknown. Allowed: True, False, Unknown |
conditions[].type | string | yes | type of condition in CamelCase or in foo.example.com/CamelCase. |
id | string | — | Id of the group. |
identifier | string | — | Identifier is the Cloud Control primary identifier of the resource. |
lastSyncTime | string | — | |
observedGeneration | integer | — | |
operation | string | — | Operation is the in-flight operation (CREATE, UPDATE, DELETE). |
operationStatus | string | — | OperationStatus is the last reported operation status. |
requestToken | string | — | RequestToken tracks an in-flight asynchronous operation. |