// Code generated by smithy-go-codegen DO NOT EDIT. package types import ( smithydocument "github.com/aws/smithy-go/document" "time" ) // A structure that contains the configuration for canary artifacts, including the // encryption-at-rest settings for artifacts that the canary uploads to Amazon S3. type ArtifactConfigInput struct { // A structure that contains the configuration of the encryption-at-rest settings // for artifacts that the canary uploads to Amazon S3. Artifact encryption // functionality is available only for canaries that use Synthetics runtime version // syn-nodejs-puppeteer-3.3 or later. For more information, see Encrypting canary // artifacts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_artifact_encryption.html) S3Encryption *S3EncryptionConfig noSmithyDocumentSerde } // A structure that contains the configuration for canary artifacts, including the // encryption-at-rest settings for artifacts that the canary uploads to Amazon S3. type ArtifactConfigOutput struct { // A structure that contains the configuration of encryption settings for canary // artifacts that are stored in Amazon S3. S3Encryption *S3EncryptionConfig noSmithyDocumentSerde } // A structure representing a screenshot that is used as a baseline during visual // monitoring comparisons made by the canary. type BaseScreenshot struct { // The name of the screenshot. This is generated the first time the canary is run // after the UpdateCanary operation that specified for this canary to perform // visual monitoring. // // This member is required. ScreenshotName *string // Coordinates that define the part of a screen to ignore during screenshot // comparisons. To obtain the coordinates to use here, use the CloudWatch console // to draw the boundaries on the screen. For more information, see Editing or // deleting a canary (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/synthetics_canaries_deletion.html) IgnoreCoordinates []string noSmithyDocumentSerde } // This structure contains all information about one canary in your account. type Canary struct { // A structure that contains the configuration for canary artifacts, including the // encryption-at-rest settings for artifacts that the canary uploads to Amazon S3. ArtifactConfig *ArtifactConfigOutput // The location in Amazon S3 where Synthetics stores artifacts from the runs of // this canary. Artifacts include the log file, screenshots, and HAR files. ArtifactS3Location *string // This structure contains information about the canary's Lambda handler and where // its code is stored by CloudWatch Synthetics. Code *CanaryCodeOutput // The ARN of the Lambda function that is used as your canary's engine. For more // information about Lambda ARN format, see Resources and Conditions for Lambda // Actions (https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html) // . EngineArn *string // The ARN of the IAM role used to run the canary. This role must include // lambda.amazonaws.com as a principal in the trust policy. ExecutionRoleArn *string // The number of days to retain data about failed runs of this canary. FailureRetentionPeriodInDays *int32 // The unique ID of this canary. Id *string // The name of the canary. Name *string // A structure that contains information about a canary run. RunConfig *CanaryRunConfigOutput // Specifies the runtime version to use for the canary. For more information about // runtime versions, see Canary Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html) // . RuntimeVersion *string // A structure that contains information about how often the canary is to run, and // when these runs are to stop. Schedule *CanaryScheduleOutput // A structure that contains information about the canary's status. Status *CanaryStatus // The number of days to retain data about successful runs of this canary. SuccessRetentionPeriodInDays *int32 // The list of key-value pairs that are associated with the canary. Tags map[string]string // A structure that contains information about when the canary was created, // modified, and most recently run. Timeline *CanaryTimeline // If this canary performs visual monitoring by comparing screenshots, this // structure contains the ID of the canary run to use as the baseline for // screenshots, and the coordinates of any parts of the screen to ignore during the // visual monitoring comparison. VisualReference *VisualReferenceOutput // If this canary is to test an endpoint in a VPC, this structure contains // information about the subnets and security groups of the VPC endpoint. For more // information, see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html) // . VpcConfig *VpcConfigOutput noSmithyDocumentSerde } // Use this structure to input your script code for the canary. This structure // contains the Lambda handler with the location where the canary should start // running the script. If the script is stored in an S3 bucket, the bucket name, // key, and version are also included. If the script was passed into the canary // directly, the script code is contained in the value of Zipfile . type CanaryCodeInput struct { // The entry point to use for the source code when running the canary. For // canaries that use the syn-python-selenium-1.0 runtime or a syn-nodejs.puppeteer // runtime earlier than syn-nodejs.puppeteer-3.4 , the handler must be specified as // fileName.handler . For syn-python-selenium-1.1 , syn-nodejs.puppeteer-3.4 , and // later runtimes, the handler can be specified as fileName.functionName , or you // can specify a folder where canary scripts reside as // folder/fileName.functionName . // // This member is required. Handler *string // If your canary script is located in S3, specify the bucket name here. Do not // include s3:// as the start of the bucket name. S3Bucket *string // The S3 key of your script. For more information, see Working with Amazon S3 // Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html) . S3Key *string // The S3 version ID of your script. S3Version *string // If you input your canary script directly into the canary instead of referring // to an S3 location, the value of this parameter is the base64-encoded contents of // the .zip file that contains the script. It must be smaller than 225 Kb. For // large canary scripts, we recommend that you use an S3 location instead of // inputting it directly with this parameter. ZipFile []byte noSmithyDocumentSerde } // This structure contains information about the canary's Lambda handler and where // its code is stored by CloudWatch Synthetics. type CanaryCodeOutput struct { // The entry point to use for the source code when running the canary. Handler *string // The ARN of the Lambda layer where Synthetics stores the canary script code. SourceLocationArn *string noSmithyDocumentSerde } // This structure contains information about the most recent run of a single // canary. type CanaryLastRun struct { // The name of the canary. CanaryName *string // The results from this canary's most recent run. LastRun *CanaryRun noSmithyDocumentSerde } // This structure contains the details about one run of one canary. type CanaryRun struct { // The location where the canary stored artifacts from the run. Artifacts include // the log file, screenshots, and HAR files. ArtifactS3Location *string // A unique ID that identifies this canary run. Id *string // The name of the canary. Name *string // The status of this run. Status *CanaryRunStatus // A structure that contains the start and end times of this run. Timeline *CanaryRunTimeline noSmithyDocumentSerde } // A structure that contains input information for a canary run. type CanaryRunConfigInput struct { // Specifies whether this canary is to use active X-Ray tracing when it runs. // Active tracing enables this canary run to be displayed in the ServiceLens and // X-Ray service maps even if the canary does not hit an endpoint that has X-Ray // tracing enabled. Using X-Ray tracing incurs charges. For more information, see // Canaries and X-Ray tracing (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_tracing.html) // . You can enable active tracing only for canaries that use version // syn-nodejs-2.0 or later for their canary runtime. ActiveTracing *bool // Specifies the keys and values to use for any environment variables used in the // canary script. Use the following format: { "key1" : "value1", "key2" : "value2", // ...} Keys must start with a letter and be at least two characters. The total // size of your environment variables cannot exceed 4 KB. You can't specify any // Lambda reserved environment variables as the keys for your environment // variables. For more information about reserved keys, see Runtime environment // variables (https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime) // . The environment variables keys and values are not encrypted. Do not store // sensitive information in this field. EnvironmentVariables map[string]string // The maximum amount of memory available to the canary while it is running, in // MB. This value must be a multiple of 64. MemoryInMB *int32 // How long the canary is allowed to run before it must stop. You can't set this // time to be longer than the frequency of the runs of this canary. If you omit // this field, the frequency of the canary is used as this value, up to a maximum // of 14 minutes. TimeoutInSeconds *int32 noSmithyDocumentSerde } // A structure that contains information about a canary run. type CanaryRunConfigOutput struct { // Displays whether this canary run used active X-Ray tracing. ActiveTracing *bool // The maximum amount of memory available to the canary while it is running, in // MB. This value must be a multiple of 64. MemoryInMB *int32 // How long the canary is allowed to run before it must stop. TimeoutInSeconds *int32 noSmithyDocumentSerde } // This structure contains the status information about a canary run. type CanaryRunStatus struct { // The current state of the run. State CanaryRunState // If run of the canary failed, this field contains the reason for the error. StateReason *string // If this value is CANARY_FAILURE , an exception occurred in the canary code. If // this value is EXECUTION_FAILURE , an exception occurred in CloudWatch Synthetics. StateReasonCode CanaryRunStateReasonCode noSmithyDocumentSerde } // This structure contains the start and end times of a single canary run. type CanaryRunTimeline struct { // The end time of the run. Completed *time.Time // The start time of the run. Started *time.Time noSmithyDocumentSerde } // This structure specifies how often a canary is to make runs and the date and // time when it should stop making runs. type CanaryScheduleInput struct { // A rate expression or a cron expression that defines how often the canary is to // run. For a rate expression, The syntax is rate(number unit) . unit can be minute // , minutes , or hour . For example, rate(1 minute) runs the canary once a // minute, rate(10 minutes) runs it once every 10 minutes, and rate(1 hour) runs // it once every hour. You can specify a frequency between rate(1 minute) and // rate(1 hour) . Specifying rate(0 minute) or rate(0 hour) is a special value // that causes the canary to run only once when it is started. Use cron(expression) // to specify a cron expression. You can't schedule a canary to wait for more than // a year before running. For information about the syntax for cron expressions, // see Scheduling canary runs using cron (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_cron.html) // . // // This member is required. Expression *string // How long, in seconds, for the canary to continue making regular runs according // to the schedule in the Expression value. If you specify 0, the canary continues // making runs until you stop it. If you omit this field, the default of 0 is used. DurationInSeconds *int64 noSmithyDocumentSerde } // How long, in seconds, for the canary to continue making regular runs according // to the schedule in the Expression value. type CanaryScheduleOutput struct { // How long, in seconds, for the canary to continue making regular runs after it // was created. The runs are performed according to the schedule in the Expression // value. DurationInSeconds *int64 // A rate expression or a cron expression that defines how often the canary is to // run. For a rate expression, The syntax is rate(number unit) . unit can be minute // , minutes , or hour . For example, rate(1 minute) runs the canary once a // minute, rate(10 minutes) runs it once every 10 minutes, and rate(1 hour) runs // it once every hour. You can specify a frequency between rate(1 minute) and // rate(1 hour) . Specifying rate(0 minute) or rate(0 hour) is a special value // that causes the canary to run only once when it is started. Use cron(expression) // to specify a cron expression. For information about the syntax for cron // expressions, see Scheduling canary runs using cron (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_cron.html) // . Expression *string noSmithyDocumentSerde } // A structure that contains the current state of the canary. type CanaryStatus struct { // The current state of the canary. State CanaryState // If the canary has insufficient permissions to run, this field provides more // details. StateReason *string // If the canary cannot run or has failed, this field displays the reason. StateReasonCode CanaryStateReasonCode noSmithyDocumentSerde } // This structure contains information about when the canary was created and // modified. type CanaryTimeline struct { // The date and time the canary was created. Created *time.Time // The date and time the canary was most recently modified. LastModified *time.Time // The date and time that the canary's most recent run started. LastStarted *time.Time // The date and time that the canary's most recent run ended. LastStopped *time.Time noSmithyDocumentSerde } // This structure contains information about one group. type Group struct { // The ARN of the group. Arn *string // The date and time that the group was created. CreatedTime *time.Time // The unique ID of the group. Id *string // The date and time that the group was most recently updated. LastModifiedTime *time.Time // The name of the group. Name *string // The list of key-value pairs that are associated with the canary. Tags map[string]string noSmithyDocumentSerde } // A structure containing some information about a group. type GroupSummary struct { // The ARN of the group. Arn *string // The unique ID of the group. Id *string // The name of the group. Name *string noSmithyDocumentSerde } // This structure contains information about one canary runtime version. For more // information about runtime versions, see Canary Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html) // . type RuntimeVersion struct { // If this runtime version is deprecated, this value is the date of deprecation. DeprecationDate *time.Time // A description of the runtime version, created by Amazon. Description *string // The date that the runtime version was released. ReleaseDate *time.Time // The name of the runtime version. For a list of valid runtime versions, see // Canary Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html) // . VersionName *string noSmithyDocumentSerde } // A structure that contains the configuration of encryption-at-rest settings for // canary artifacts that the canary uploads to Amazon S3. For more information, see // Encrypting canary artifacts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_artifact_encryption.html) type S3EncryptionConfig struct { // The encryption method to use for artifacts created by this canary. Specify // SSE_S3 to use server-side encryption (SSE) with an Amazon S3-managed key. // Specify SSE-KMS to use server-side encryption with a customer-managed KMS key. // If you omit this parameter, an Amazon Web Services-managed KMS key is used. EncryptionMode EncryptionMode // The ARN of the customer-managed KMS key to use, if you specify SSE-KMS for // EncryptionMode KmsKeyArn *string noSmithyDocumentSerde } // An object that specifies what screenshots to use as a baseline for visual // monitoring by this canary. It can optionally also specify parts of the // screenshots to ignore during the visual monitoring comparison. Visual monitoring // is supported only on canaries running the syn-puppeteer-node-3.2 runtime or // later. For more information, see Visual monitoring (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_SyntheticsLogger_VisualTesting.html) // and Visual monitoring blueprint (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Blueprints_VisualTesting.html) type VisualReferenceInput struct { // Specifies which canary run to use the screenshots from as the baseline for // future visual monitoring with this canary. Valid values are nextrun to use the // screenshots from the next run after this update is made, lastrun to use the // screenshots from the most recent run before this update was made, or the value // of Id in the CanaryRun (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_CanaryRun.html) // from any past run of this canary. // // This member is required. BaseCanaryRunId *string // An array of screenshots that will be used as the baseline for visual monitoring // in future runs of this canary. If there is a screenshot that you don't want to // be used for visual monitoring, remove it from this array. BaseScreenshots []BaseScreenshot noSmithyDocumentSerde } // If this canary performs visual monitoring by comparing screenshots, this // structure contains the ID of the canary run that is used as the baseline for // screenshots, and the coordinates of any parts of those screenshots that are // ignored during visual monitoring comparison. Visual monitoring is supported only // on canaries running the syn-puppeteer-node-3.2 runtime or later. type VisualReferenceOutput struct { // The ID of the canary run that produced the baseline screenshots that are used // for visual monitoring comparisons by this canary. BaseCanaryRunId *string // An array of screenshots that are used as the baseline for comparisons during // visual monitoring. BaseScreenshots []BaseScreenshot noSmithyDocumentSerde } // If this canary is to test an endpoint in a VPC, this structure contains // information about the subnets and security groups of the VPC endpoint. For more // information, see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html) // . type VpcConfigInput struct { // The IDs of the security groups for this canary. SecurityGroupIds []string // The IDs of the subnets where this canary is to run. SubnetIds []string noSmithyDocumentSerde } // If this canary is to test an endpoint in a VPC, this structure contains // information about the subnets and security groups of the VPC endpoint. For more // information, see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html) // . type VpcConfigOutput struct { // The IDs of the security groups for this canary. SecurityGroupIds []string // The IDs of the subnets where this canary is to run. SubnetIds []string // The IDs of the VPC where this canary is to run. VpcId *string noSmithyDocumentSerde } type noSmithyDocumentSerde = smithydocument.NoSerde