class Aws::Synthetics::Types::UpdateCanaryRequest

@note When making an API call, you may pass UpdateCanaryRequest

data as a hash:

    {
      name: "CanaryName", # required
      code: {
        s3_bucket: "String",
        s3_key: "String",
        s3_version: "String",
        zip_file: "data",
        handler: "String", # required
      },
      execution_role_arn: "RoleArn",
      runtime_version: "String",
      schedule: {
        expression: "String", # required
        duration_in_seconds: 1,
      },
      run_config: {
        timeout_in_seconds: 1,
        memory_in_mb: 1,
        active_tracing: false,
        environment_variables: {
          "EnvironmentVariableName" => "EnvironmentVariableValue",
        },
      },
      success_retention_period_in_days: 1,
      failure_retention_period_in_days: 1,
      vpc_config: {
        subnet_ids: ["SubnetId"],
        security_group_ids: ["SecurityGroupId"],
      },
      visual_reference: {
        base_screenshots: [
          {
            screenshot_name: "String", # required
            ignore_coordinates: ["BaseScreenshotConfigIgnoreCoordinate"],
          },
        ],
        base_canary_run_id: "String", # required
      },
    }

@!attribute [rw] name

The name of the canary that you want to update. To find the names of
your canaries, use [DescribeCanaries][1].

You cannot change the name of a canary that has already been
created.

[1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html
@return [String]

@!attribute [rw] code

A structure that includes the entry point from which the canary
should start running your script. If the script is stored in an S3
bucket, the bucket name, key, and version are also included.
@return [Types::CanaryCodeInput]

@!attribute [rw] execution_role_arn

The ARN of the IAM role to be used to run the canary. This role must
already exist, and must include `lambda.amazonaws.com` as a
principal in the trust policy. The role must also have the following
permissions:

* `s3:PutObject`

* `s3:GetBucketLocation`

* `s3:ListAllMyBuckets`

* `cloudwatch:PutMetricData`

* `logs:CreateLogGroup`

* `logs:CreateLogStream`

* `logs:CreateLogStream`
@return [String]

@!attribute [rw] runtime_version

Specifies the runtime version to use for the canary. For a list of
valid runtime versions and for more information about runtime
versions, see [ Canary Runtime Versions][1].

[1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html
@return [String]

@!attribute [rw] schedule

A structure that contains information about how often the canary is
to run, and when these runs are to stop.
@return [Types::CanaryScheduleInput]

@!attribute [rw] run_config

A structure that contains the timeout value that is used for each
individual run of the canary.
@return [Types::CanaryRunConfigInput]

@!attribute [rw] success_retention_period_in_days

The number of days to retain data about successful runs of this
canary.
@return [Integer]

@!attribute [rw] failure_retention_period_in_days

The number of days to retain data about failed runs of this canary.
@return [Integer]

@!attribute [rw] vpc_config

If this canary is to test an endpoint in a VPC, this structure
contains information about the subnet and security groups of the VPC
endpoint. For more information, see [ Running a Canary in a VPC][1].

[1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html
@return [Types::VpcConfigInput]

@!attribute [rw] visual_reference

Defines the screenshots to use as the baseline for comparisons
during visual monitoring comparisons during future runs of this
canary. If you omit this parameter, no changes are made to any
baseline screenshots that the canary might be using already.

Visual monitoring is supported only on canaries running the
**syn-puppeteer-node-3.2** runtime or later. For more information,
see [ Visual monitoring][1] and [ Visual monitoring blueprint][2]

[1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_SyntheticsLogger_VisualTesting.html
[2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Blueprints_VisualTesting.html
@return [Types::VisualReferenceInput]

@see docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UpdateCanaryRequest AWS API Documentation

Constants

SENSITIVE