1. Packages
  2. AWS Native
  3. API Docs
  4. synthetics
  5. Canary

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.108.4 published on Tuesday, Jun 18, 2024 by Pulumi

aws-native.synthetics.Canary

Explore with Pulumi AI

aws-native logo

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.108.4 published on Tuesday, Jun 18, 2024 by Pulumi

    Resource Type definition for AWS::Synthetics::Canary

    Example Usage

    Example

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AwsNative = Pulumi.AwsNative;
    
    return await Deployment.RunAsync(() => 
    {
        var syntheticsCanary = new AwsNative.Synthetics.Canary("syntheticsCanary", new()
        {
            Name = "samplecanary",
            ExecutionRoleArn = "arn:aws:iam::123456789012:role/my-lambda-execution-role-to-run-canary",
            Code = new AwsNative.Synthetics.Inputs.CanaryCodeArgs
            {
                Handler = "pageLoadBlueprint.handler",
                S3Bucket = "aws-synthetics-code-myaccount-canary1",
                S3Key = "my-script-location",
            },
            ArtifactS3Location = "s3://my-results-bucket",
            RuntimeVersion = "syn-nodejs-puppeteer-3.3",
            Schedule = new AwsNative.Synthetics.Inputs.CanaryScheduleArgs
            {
                Expression = "rate(1 minute)",
                DurationInSeconds = "3600",
            },
            RunConfig = new AwsNative.Synthetics.Inputs.CanaryRunConfigArgs
            {
                TimeoutInSeconds = 60,
            },
            FailureRetentionPeriod = 30,
            SuccessRetentionPeriod = 30,
            Tags = new[]
            {
                new AwsNative.Inputs.TagArgs
                {
                    Key = "key00AtCreate",
                    Value = "value001AtCreate",
                },
            },
            StartCanaryAfterCreation = true,
        });
    
    });
    
    package main
    
    import (
    	awsnative "github.com/pulumi/pulumi-aws-native/sdk/go/aws"
    	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/synthetics"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := synthetics.NewCanary(ctx, "syntheticsCanary", &synthetics.CanaryArgs{
    			Name:             pulumi.String("samplecanary"),
    			ExecutionRoleArn: pulumi.String("arn:aws:iam::123456789012:role/my-lambda-execution-role-to-run-canary"),
    			Code: &synthetics.CanaryCodeArgs{
    				Handler:  pulumi.String("pageLoadBlueprint.handler"),
    				S3Bucket: pulumi.String("aws-synthetics-code-myaccount-canary1"),
    				S3Key:    pulumi.String("my-script-location"),
    			},
    			ArtifactS3Location: pulumi.String("s3://my-results-bucket"),
    			RuntimeVersion:     pulumi.String("syn-nodejs-puppeteer-3.3"),
    			Schedule: &synthetics.CanaryScheduleArgs{
    				Expression:        pulumi.String("rate(1 minute)"),
    				DurationInSeconds: pulumi.String("3600"),
    			},
    			RunConfig: &synthetics.CanaryRunConfigArgs{
    				TimeoutInSeconds: pulumi.Int(60),
    			},
    			FailureRetentionPeriod: pulumi.Int(30),
    			SuccessRetentionPeriod: pulumi.Int(30),
    			Tags: aws.TagArray{
    				&aws.TagArgs{
    					Key:   pulumi.String("key00AtCreate"),
    					Value: pulumi.String("value001AtCreate"),
    				},
    			},
    			StartCanaryAfterCreation: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Coming soon!

    import pulumi
    import pulumi_aws_native as aws_native
    
    synthetics_canary = aws_native.synthetics.Canary("syntheticsCanary",
        name="samplecanary",
        execution_role_arn="arn:aws:iam::123456789012:role/my-lambda-execution-role-to-run-canary",
        code=aws_native.synthetics.CanaryCodeArgs(
            handler="pageLoadBlueprint.handler",
            s3_bucket="aws-synthetics-code-myaccount-canary1",
            s3_key="my-script-location",
        ),
        artifact_s3_location="s3://my-results-bucket",
        runtime_version="syn-nodejs-puppeteer-3.3",
        schedule=aws_native.synthetics.CanaryScheduleArgs(
            expression="rate(1 minute)",
            duration_in_seconds="3600",
        ),
        run_config=aws_native.synthetics.CanaryRunConfigArgs(
            timeout_in_seconds=60,
        ),
        failure_retention_period=30,
        success_retention_period=30,
        tags=[aws_native.TagArgs(
            key="key00AtCreate",
            value="value001AtCreate",
        )],
        start_canary_after_creation=True)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws_native from "@pulumi/aws-native";
    
    const syntheticsCanary = new aws_native.synthetics.Canary("syntheticsCanary", {
        name: "samplecanary",
        executionRoleArn: "arn:aws:iam::123456789012:role/my-lambda-execution-role-to-run-canary",
        code: {
            handler: "pageLoadBlueprint.handler",
            s3Bucket: "aws-synthetics-code-myaccount-canary1",
            s3Key: "my-script-location",
        },
        artifactS3Location: "s3://my-results-bucket",
        runtimeVersion: "syn-nodejs-puppeteer-3.3",
        schedule: {
            expression: "rate(1 minute)",
            durationInSeconds: "3600",
        },
        runConfig: {
            timeoutInSeconds: 60,
        },
        failureRetentionPeriod: 30,
        successRetentionPeriod: 30,
        tags: [{
            key: "key00AtCreate",
            value: "value001AtCreate",
        }],
        startCanaryAfterCreation: true,
    });
    

    Coming soon!

    Example

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AwsNative = Pulumi.AwsNative;
    
    return await Deployment.RunAsync(() => 
    {
        var syntheticsCanary = new AwsNative.Synthetics.Canary("syntheticsCanary", new()
        {
            Name = "samplecanary",
            ExecutionRoleArn = "arn:aws:iam::123456789012:role/my-lambda-execution-role-to-run-canary",
            Code = new AwsNative.Synthetics.Inputs.CanaryCodeArgs
            {
                Handler = "pageLoadBlueprint.handler",
                Script = @"var synthetics = require('Synthetics');
    const log = require('SyntheticsLogger');
    const pageLoadBlueprint = async function () {
    // INSERT URL here
    const URL = ""https://amazon.com"";
    
    let page = await synthetics.getPage();
    const response = await page.goto(URL, {waitUntil: 'domcontentloaded', timeout: 30000});
    //Wait for page to render.
    //Increase or decrease wait time based on endpoint being monitored.
    await page.waitFor(15000);
    await synthetics.takeScreenshot('loaded', 'loaded');
    let pageTitle = await page.title();
    log.info('Page title: ' + pageTitle);
    if (response.status() !== 200) {
         throw ""Failed to load page!"";
    }
    };
    
    exports.handler = async () => {
    return await pageLoadBlueprint();
    };
    ",
            },
            ArtifactS3Location = "s3://my-results-bucket",
            RuntimeVersion = "syn-nodejs-puppeteer-3.3",
            Schedule = new AwsNative.Synthetics.Inputs.CanaryScheduleArgs
            {
                Expression = "rate(1 minute)",
                DurationInSeconds = "3600",
            },
            RunConfig = new AwsNative.Synthetics.Inputs.CanaryRunConfigArgs
            {
                TimeoutInSeconds = 60,
            },
            FailureRetentionPeriod = 30,
            SuccessRetentionPeriod = 30,
            Tags = new[]
            {
                new AwsNative.Inputs.TagArgs
                {
                    Key = "key00AtCreate",
                    Value = "value001AtCreate",
                },
            },
            StartCanaryAfterCreation = false,
        });
    
    });
    
    package main
    
    import (
    	awsnative "github.com/pulumi/pulumi-aws-native/sdk/go/aws"
    	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/synthetics"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := synthetics.NewCanary(ctx, "syntheticsCanary", &synthetics.CanaryArgs{
    			Name:             pulumi.String("samplecanary"),
    			ExecutionRoleArn: pulumi.String("arn:aws:iam::123456789012:role/my-lambda-execution-role-to-run-canary"),
    			Code: &synthetics.CanaryCodeArgs{
    				Handler: pulumi.String("pageLoadBlueprint.handler"),
    				Script: pulumi.String(`var synthetics = require('Synthetics');
    const log = require('SyntheticsLogger');
    const pageLoadBlueprint = async function () {
    // INSERT URL here
    const URL = "https://amazon.com";
    
    let page = await synthetics.getPage();
    const response = await page.goto(URL, {waitUntil: 'domcontentloaded', timeout: 30000});
    //Wait for page to render.
    //Increase or decrease wait time based on endpoint being monitored.
    await page.waitFor(15000);
    await synthetics.takeScreenshot('loaded', 'loaded');
    let pageTitle = await page.title();
    log.info('Page title: ' + pageTitle);
    if (response.status() !== 200) {
         throw "Failed to load page!";
    }
    };
    
    exports.handler = async () => {
    return await pageLoadBlueprint();
    };
    `),
    			},
    			ArtifactS3Location: pulumi.String("s3://my-results-bucket"),
    			RuntimeVersion:     pulumi.String("syn-nodejs-puppeteer-3.3"),
    			Schedule: &synthetics.CanaryScheduleArgs{
    				Expression:        pulumi.String("rate(1 minute)"),
    				DurationInSeconds: pulumi.String("3600"),
    			},
    			RunConfig: &synthetics.CanaryRunConfigArgs{
    				TimeoutInSeconds: pulumi.Int(60),
    			},
    			FailureRetentionPeriod: pulumi.Int(30),
    			SuccessRetentionPeriod: pulumi.Int(30),
    			Tags: aws.TagArray{
    				&aws.TagArgs{
    					Key:   pulumi.String("key00AtCreate"),
    					Value: pulumi.String("value001AtCreate"),
    				},
    			},
    			StartCanaryAfterCreation: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Coming soon!

    import pulumi
    import pulumi_aws_native as aws_native
    
    synthetics_canary = aws_native.synthetics.Canary("syntheticsCanary",
        name="samplecanary",
        execution_role_arn="arn:aws:iam::123456789012:role/my-lambda-execution-role-to-run-canary",
        code=aws_native.synthetics.CanaryCodeArgs(
            handler="pageLoadBlueprint.handler",
            script="""var synthetics = require('Synthetics');
    const log = require('SyntheticsLogger');
    const pageLoadBlueprint = async function () {
    // INSERT URL here
    const URL = "https://amazon.com";
    
    let page = await synthetics.getPage();
    const response = await page.goto(URL, {waitUntil: 'domcontentloaded', timeout: 30000});
    //Wait for page to render.
    //Increase or decrease wait time based on endpoint being monitored.
    await page.waitFor(15000);
    await synthetics.takeScreenshot('loaded', 'loaded');
    let pageTitle = await page.title();
    log.info('Page title: ' + pageTitle);
    if (response.status() !== 200) {
         throw "Failed to load page!";
    }
    };
    
    exports.handler = async () => {
    return await pageLoadBlueprint();
    };
    """,
        ),
        artifact_s3_location="s3://my-results-bucket",
        runtime_version="syn-nodejs-puppeteer-3.3",
        schedule=aws_native.synthetics.CanaryScheduleArgs(
            expression="rate(1 minute)",
            duration_in_seconds="3600",
        ),
        run_config=aws_native.synthetics.CanaryRunConfigArgs(
            timeout_in_seconds=60,
        ),
        failure_retention_period=30,
        success_retention_period=30,
        tags=[aws_native.TagArgs(
            key="key00AtCreate",
            value="value001AtCreate",
        )],
        start_canary_after_creation=False)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws_native from "@pulumi/aws-native";
    
    const syntheticsCanary = new aws_native.synthetics.Canary("syntheticsCanary", {
        name: "samplecanary",
        executionRoleArn: "arn:aws:iam::123456789012:role/my-lambda-execution-role-to-run-canary",
        code: {
            handler: "pageLoadBlueprint.handler",
            script: `var synthetics = require('Synthetics');
    const log = require('SyntheticsLogger');
    const pageLoadBlueprint = async function () {
    // INSERT URL here
    const URL = "https://amazon.com";
    
    let page = await synthetics.getPage();
    const response = await page.goto(URL, {waitUntil: 'domcontentloaded', timeout: 30000});
    //Wait for page to render.
    //Increase or decrease wait time based on endpoint being monitored.
    await page.waitFor(15000);
    await synthetics.takeScreenshot('loaded', 'loaded');
    let pageTitle = await page.title();
    log.info('Page title: ' + pageTitle);
    if (response.status() !== 200) {
         throw "Failed to load page!";
    }
    };
    
    exports.handler = async () => {
    return await pageLoadBlueprint();
    };
    `,
        },
        artifactS3Location: "s3://my-results-bucket",
        runtimeVersion: "syn-nodejs-puppeteer-3.3",
        schedule: {
            expression: "rate(1 minute)",
            durationInSeconds: "3600",
        },
        runConfig: {
            timeoutInSeconds: 60,
        },
        failureRetentionPeriod: 30,
        successRetentionPeriod: 30,
        tags: [{
            key: "key00AtCreate",
            value: "value001AtCreate",
        }],
        startCanaryAfterCreation: false,
    });
    

    Coming soon!

    Create Canary Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Canary(name: string, args: CanaryArgs, opts?: CustomResourceOptions);
    @overload
    def Canary(resource_name: str,
               args: CanaryArgs,
               opts: Optional[ResourceOptions] = None)
    
    @overload
    def Canary(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               runtime_version: Optional[str] = None,
               artifact_s3_location: Optional[str] = None,
               code: Optional[CanaryCodeArgs] = None,
               schedule: Optional[CanaryScheduleArgs] = None,
               execution_role_arn: Optional[str] = None,
               delete_lambda_resources_on_canary_deletion: Optional[bool] = None,
               name: Optional[str] = None,
               run_config: Optional[CanaryRunConfigArgs] = None,
               failure_retention_period: Optional[int] = None,
               artifact_config: Optional[CanaryArtifactConfigArgs] = None,
               start_canary_after_creation: Optional[bool] = None,
               success_retention_period: Optional[int] = None,
               tags: Optional[Sequence[_root_inputs.TagArgs]] = None,
               visual_reference: Optional[CanaryVisualReferenceArgs] = None,
               vpc_config: Optional[CanaryVpcConfigArgs] = None)
    func NewCanary(ctx *Context, name string, args CanaryArgs, opts ...ResourceOption) (*Canary, error)
    public Canary(string name, CanaryArgs args, CustomResourceOptions? opts = null)
    public Canary(String name, CanaryArgs args)
    public Canary(String name, CanaryArgs args, CustomResourceOptions options)
    
    type: aws-native:synthetics:Canary
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args CanaryArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args CanaryArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args CanaryArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CanaryArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CanaryArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    const canaryResource = new aws_native.synthetics.Canary("canaryResource", {
        runtimeVersion: "string",
        artifactS3Location: "string",
        code: {
            handler: "string",
            s3Bucket: "string",
            s3Key: "string",
            s3ObjectVersion: "string",
            script: "string",
            sourceLocationArn: "string",
        },
        schedule: {
            expression: "string",
            durationInSeconds: "string",
        },
        executionRoleArn: "string",
        deleteLambdaResourcesOnCanaryDeletion: false,
        name: "string",
        runConfig: {
            activeTracing: false,
            environmentVariables: {
                string: "string",
            },
            memoryInMb: 0,
            timeoutInSeconds: 0,
        },
        failureRetentionPeriod: 0,
        artifactConfig: {
            s3Encryption: {
                encryptionMode: "string",
                kmsKeyArn: "string",
            },
        },
        startCanaryAfterCreation: false,
        successRetentionPeriod: 0,
        tags: [{
            key: "string",
            value: "string",
        }],
        visualReference: {
            baseCanaryRunId: "string",
            baseScreenshots: [{
                screenshotName: "string",
                ignoreCoordinates: ["string"],
            }],
        },
        vpcConfig: {
            securityGroupIds: ["string"],
            subnetIds: ["string"],
            vpcId: "string",
        },
    });
    
    Coming soon!
    

    Canary Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Canary resource accepts the following input properties:

    ArtifactS3Location string
    Provide the s3 bucket output location for test results
    Code Pulumi.AwsNative.Synthetics.Inputs.CanaryCode
    Provide the canary script source
    ExecutionRoleArn string
    Lambda Execution role used to run your canaries
    RuntimeVersion string
    Runtime version of Synthetics Library
    Schedule Pulumi.AwsNative.Synthetics.Inputs.CanarySchedule
    Frequency to run your canaries
    ArtifactConfig Pulumi.AwsNative.Synthetics.Inputs.CanaryArtifactConfig
    Provide artifact configuration
    DeleteLambdaResourcesOnCanaryDeletion bool
    Deletes associated lambda resources created by Synthetics if set to True. Default is False
    FailureRetentionPeriod int
    Retention period of failed canary runs represented in number of days
    Name string
    Name of the canary.
    RunConfig Pulumi.AwsNative.Synthetics.Inputs.CanaryRunConfig
    Provide canary run configuration
    StartCanaryAfterCreation bool
    Runs canary if set to True. Default is False
    SuccessRetentionPeriod int
    Retention period of successful canary runs represented in number of days
    Tags List<Pulumi.AwsNative.Inputs.Tag>
    The list of key-value pairs that are associated with the canary.
    VisualReference Pulumi.AwsNative.Synthetics.Inputs.CanaryVisualReference
    Visual reference configuration for visual testing
    VpcConfig Pulumi.AwsNative.Synthetics.Inputs.CanaryVpcConfig
    Provide VPC Configuration if enabled.
    ArtifactS3Location string
    Provide the s3 bucket output location for test results
    Code CanaryCodeArgs
    Provide the canary script source
    ExecutionRoleArn string
    Lambda Execution role used to run your canaries
    RuntimeVersion string
    Runtime version of Synthetics Library
    Schedule CanaryScheduleArgs
    Frequency to run your canaries
    ArtifactConfig CanaryArtifactConfigArgs
    Provide artifact configuration
    DeleteLambdaResourcesOnCanaryDeletion bool
    Deletes associated lambda resources created by Synthetics if set to True. Default is False
    FailureRetentionPeriod int
    Retention period of failed canary runs represented in number of days
    Name string
    Name of the canary.
    RunConfig CanaryRunConfigArgs
    Provide canary run configuration
    StartCanaryAfterCreation bool
    Runs canary if set to True. Default is False
    SuccessRetentionPeriod int
    Retention period of successful canary runs represented in number of days
    Tags TagArgs
    The list of key-value pairs that are associated with the canary.
    VisualReference CanaryVisualReferenceArgs
    Visual reference configuration for visual testing
    VpcConfig CanaryVpcConfigArgs
    Provide VPC Configuration if enabled.
    artifactS3Location String
    Provide the s3 bucket output location for test results
    code CanaryCode
    Provide the canary script source
    executionRoleArn String
    Lambda Execution role used to run your canaries
    runtimeVersion String
    Runtime version of Synthetics Library
    schedule CanarySchedule
    Frequency to run your canaries
    artifactConfig CanaryArtifactConfig
    Provide artifact configuration
    deleteLambdaResourcesOnCanaryDeletion Boolean
    Deletes associated lambda resources created by Synthetics if set to True. Default is False
    failureRetentionPeriod Integer
    Retention period of failed canary runs represented in number of days
    name String
    Name of the canary.
    runConfig CanaryRunConfig
    Provide canary run configuration
    startCanaryAfterCreation Boolean
    Runs canary if set to True. Default is False
    successRetentionPeriod Integer
    Retention period of successful canary runs represented in number of days
    tags List<Tag>
    The list of key-value pairs that are associated with the canary.
    visualReference CanaryVisualReference
    Visual reference configuration for visual testing
    vpcConfig CanaryVpcConfig
    Provide VPC Configuration if enabled.
    artifactS3Location string
    Provide the s3 bucket output location for test results
    code CanaryCode
    Provide the canary script source
    executionRoleArn string
    Lambda Execution role used to run your canaries
    runtimeVersion string
    Runtime version of Synthetics Library
    schedule CanarySchedule
    Frequency to run your canaries
    artifactConfig CanaryArtifactConfig
    Provide artifact configuration
    deleteLambdaResourcesOnCanaryDeletion boolean
    Deletes associated lambda resources created by Synthetics if set to True. Default is False
    failureRetentionPeriod number
    Retention period of failed canary runs represented in number of days
    name string
    Name of the canary.
    runConfig CanaryRunConfig
    Provide canary run configuration
    startCanaryAfterCreation boolean
    Runs canary if set to True. Default is False
    successRetentionPeriod number
    Retention period of successful canary runs represented in number of days
    tags Tag[]
    The list of key-value pairs that are associated with the canary.
    visualReference CanaryVisualReference
    Visual reference configuration for visual testing
    vpcConfig CanaryVpcConfig
    Provide VPC Configuration if enabled.
    artifact_s3_location str
    Provide the s3 bucket output location for test results
    code CanaryCodeArgs
    Provide the canary script source
    execution_role_arn str
    Lambda Execution role used to run your canaries
    runtime_version str
    Runtime version of Synthetics Library
    schedule CanaryScheduleArgs
    Frequency to run your canaries
    artifact_config CanaryArtifactConfigArgs
    Provide artifact configuration
    delete_lambda_resources_on_canary_deletion bool
    Deletes associated lambda resources created by Synthetics if set to True. Default is False
    failure_retention_period int
    Retention period of failed canary runs represented in number of days
    name str
    Name of the canary.
    run_config CanaryRunConfigArgs
    Provide canary run configuration
    start_canary_after_creation bool
    Runs canary if set to True. Default is False
    success_retention_period int
    Retention period of successful canary runs represented in number of days
    tags Sequence[TagArgs]
    The list of key-value pairs that are associated with the canary.
    visual_reference CanaryVisualReferenceArgs
    Visual reference configuration for visual testing
    vpc_config CanaryVpcConfigArgs
    Provide VPC Configuration if enabled.
    artifactS3Location String
    Provide the s3 bucket output location for test results
    code Property Map
    Provide the canary script source
    executionRoleArn String
    Lambda Execution role used to run your canaries
    runtimeVersion String
    Runtime version of Synthetics Library
    schedule Property Map
    Frequency to run your canaries
    artifactConfig Property Map
    Provide artifact configuration
    deleteLambdaResourcesOnCanaryDeletion Boolean
    Deletes associated lambda resources created by Synthetics if set to True. Default is False
    failureRetentionPeriod Number
    Retention period of failed canary runs represented in number of days
    name String
    Name of the canary.
    runConfig Property Map
    Provide canary run configuration
    startCanaryAfterCreation Boolean
    Runs canary if set to True. Default is False
    successRetentionPeriod Number
    Retention period of successful canary runs represented in number of days
    tags List<Property Map>
    The list of key-value pairs that are associated with the canary.
    visualReference Property Map
    Visual reference configuration for visual testing
    vpcConfig Property Map
    Provide VPC Configuration if enabled.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Canary resource produces the following output properties:

    AwsId string
    Id of the canary
    Id string
    The provider-assigned unique ID for this managed resource.
    State string
    State of the canary
    AwsId string
    Id of the canary
    Id string
    The provider-assigned unique ID for this managed resource.
    State string
    State of the canary
    awsId String
    Id of the canary
    id String
    The provider-assigned unique ID for this managed resource.
    state String
    State of the canary
    awsId string
    Id of the canary
    id string
    The provider-assigned unique ID for this managed resource.
    state string
    State of the canary
    aws_id str
    Id of the canary
    id str
    The provider-assigned unique ID for this managed resource.
    state str
    State of the canary
    awsId String
    Id of the canary
    id String
    The provider-assigned unique ID for this managed resource.
    state String
    State of the canary

    Supporting Types

    CanaryArtifactConfig, CanaryArtifactConfigArgs

    S3Encryption Pulumi.AwsNative.Synthetics.Inputs.CanaryS3Encryption
    Encryption configuration for uploading artifacts to S3
    S3Encryption CanaryS3Encryption
    Encryption configuration for uploading artifacts to S3
    s3Encryption CanaryS3Encryption
    Encryption configuration for uploading artifacts to S3
    s3Encryption CanaryS3Encryption
    Encryption configuration for uploading artifacts to S3
    s3_encryption CanaryS3Encryption
    Encryption configuration for uploading artifacts to S3
    s3Encryption Property Map
    Encryption configuration for uploading artifacts to S3

    CanaryBaseScreenshot, CanaryBaseScreenshotArgs

    ScreenshotName string
    Name of the screenshot to be used as base reference for visual testing
    IgnoreCoordinates List<string>
    List of coordinates of rectangles to be ignored during visual testing
    ScreenshotName string
    Name of the screenshot to be used as base reference for visual testing
    IgnoreCoordinates []string
    List of coordinates of rectangles to be ignored during visual testing
    screenshotName String
    Name of the screenshot to be used as base reference for visual testing
    ignoreCoordinates List<String>
    List of coordinates of rectangles to be ignored during visual testing
    screenshotName string
    Name of the screenshot to be used as base reference for visual testing
    ignoreCoordinates string[]
    List of coordinates of rectangles to be ignored during visual testing
    screenshot_name str
    Name of the screenshot to be used as base reference for visual testing
    ignore_coordinates Sequence[str]
    List of coordinates of rectangles to be ignored during visual testing
    screenshotName String
    Name of the screenshot to be used as base reference for visual testing
    ignoreCoordinates List<String>
    List of coordinates of rectangles to be ignored during visual testing

    CanaryCode, CanaryCodeArgs

    Handler string
    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* .
    S3Bucket string
    If your canary script is located in S3, specify the bucket name here. The bucket must already exist.
    S3Key string
    The S3 key of your script. For more information, see Working with Amazon S3 Objects .
    S3ObjectVersion string
    The S3 version ID of your script.
    Script 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 script in plain text. It can be up to 5 MB.
    SourceLocationArn string
    The ARN of the Lambda layer where Synthetics stores the canary script code.
    Handler string
    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* .
    S3Bucket string
    If your canary script is located in S3, specify the bucket name here. The bucket must already exist.
    S3Key string
    The S3 key of your script. For more information, see Working with Amazon S3 Objects .
    S3ObjectVersion string
    The S3 version ID of your script.
    Script 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 script in plain text. It can be up to 5 MB.
    SourceLocationArn string
    The ARN of the Lambda layer where Synthetics stores the canary script code.
    handler String
    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* .
    s3Bucket String
    If your canary script is located in S3, specify the bucket name here. The bucket must already exist.
    s3Key String
    The S3 key of your script. For more information, see Working with Amazon S3 Objects .
    s3ObjectVersion String
    The S3 version ID of your script.
    script 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 script in plain text. It can be up to 5 MB.
    sourceLocationArn String
    The ARN of the Lambda layer where Synthetics stores the canary script code.
    handler string
    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* .
    s3Bucket string
    If your canary script is located in S3, specify the bucket name here. The bucket must already exist.
    s3Key string
    The S3 key of your script. For more information, see Working with Amazon S3 Objects .
    s3ObjectVersion string
    The S3 version ID of your script.
    script 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 script in plain text. It can be up to 5 MB.
    sourceLocationArn string
    The ARN of the Lambda layer where Synthetics stores the canary script code.
    handler str
    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* .
    s3_bucket str
    If your canary script is located in S3, specify the bucket name here. The bucket must already exist.
    s3_key str
    The S3 key of your script. For more information, see Working with Amazon S3 Objects .
    s3_object_version str
    The S3 version ID of your script.
    script str
    If you input your canary script directly into the canary instead of referring to an S3 location, the value of this parameter is the script in plain text. It can be up to 5 MB.
    source_location_arn str
    The ARN of the Lambda layer where Synthetics stores the canary script code.
    handler String
    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* .
    s3Bucket String
    If your canary script is located in S3, specify the bucket name here. The bucket must already exist.
    s3Key String
    The S3 key of your script. For more information, see Working with Amazon S3 Objects .
    s3ObjectVersion String
    The S3 version ID of your script.
    script 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 script in plain text. It can be up to 5 MB.
    sourceLocationArn String
    The ARN of the Lambda layer where Synthetics stores the canary script code.

    CanaryRunConfig, CanaryRunConfigArgs

    ActiveTracing bool
    Enable active tracing if set to true
    EnvironmentVariables Dictionary<string, string>
    Environment variable key-value pairs.
    MemoryInMb int
    Provide maximum memory available for canary in MB
    TimeoutInSeconds int
    Provide maximum canary timeout per run in seconds
    ActiveTracing bool
    Enable active tracing if set to true
    EnvironmentVariables map[string]string
    Environment variable key-value pairs.
    MemoryInMb int
    Provide maximum memory available for canary in MB
    TimeoutInSeconds int
    Provide maximum canary timeout per run in seconds
    activeTracing Boolean
    Enable active tracing if set to true
    environmentVariables Map<String,String>
    Environment variable key-value pairs.
    memoryInMb Integer
    Provide maximum memory available for canary in MB
    timeoutInSeconds Integer
    Provide maximum canary timeout per run in seconds
    activeTracing boolean
    Enable active tracing if set to true
    environmentVariables {[key: string]: string}
    Environment variable key-value pairs.
    memoryInMb number
    Provide maximum memory available for canary in MB
    timeoutInSeconds number
    Provide maximum canary timeout per run in seconds
    active_tracing bool
    Enable active tracing if set to true
    environment_variables Mapping[str, str]
    Environment variable key-value pairs.
    memory_in_mb int
    Provide maximum memory available for canary in MB
    timeout_in_seconds int
    Provide maximum canary timeout per run in seconds
    activeTracing Boolean
    Enable active tracing if set to true
    environmentVariables Map<String>
    Environment variable key-value pairs.
    memoryInMb Number
    Provide maximum memory available for canary in MB
    timeoutInSeconds Number
    Provide maximum canary timeout per run in seconds

    CanaryS3Encryption, CanaryS3EncryptionArgs

    EncryptionMode string
    Encryption mode for encrypting artifacts when uploading to S3. Valid values: SSE_S3 and SSE_KMS.
    KmsKeyArn string
    KMS key Arn for encrypting artifacts when uploading to S3. You must specify KMS key Arn for SSE_KMS encryption mode only.
    EncryptionMode string
    Encryption mode for encrypting artifacts when uploading to S3. Valid values: SSE_S3 and SSE_KMS.
    KmsKeyArn string
    KMS key Arn for encrypting artifacts when uploading to S3. You must specify KMS key Arn for SSE_KMS encryption mode only.
    encryptionMode String
    Encryption mode for encrypting artifacts when uploading to S3. Valid values: SSE_S3 and SSE_KMS.
    kmsKeyArn String
    KMS key Arn for encrypting artifacts when uploading to S3. You must specify KMS key Arn for SSE_KMS encryption mode only.
    encryptionMode string
    Encryption mode for encrypting artifacts when uploading to S3. Valid values: SSE_S3 and SSE_KMS.
    kmsKeyArn string
    KMS key Arn for encrypting artifacts when uploading to S3. You must specify KMS key Arn for SSE_KMS encryption mode only.
    encryption_mode str
    Encryption mode for encrypting artifacts when uploading to S3. Valid values: SSE_S3 and SSE_KMS.
    kms_key_arn str
    KMS key Arn for encrypting artifacts when uploading to S3. You must specify KMS key Arn for SSE_KMS encryption mode only.
    encryptionMode String
    Encryption mode for encrypting artifacts when uploading to S3. Valid values: SSE_S3 and SSE_KMS.
    kmsKeyArn String
    KMS key Arn for encrypting artifacts when uploading to S3. You must specify KMS key Arn for SSE_KMS encryption mode only.

    CanarySchedule, CanaryScheduleArgs

    Expression string

    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 .

    DurationInSeconds 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.
    Expression string

    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 .

    DurationInSeconds 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.
    expression String

    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 .

    durationInSeconds 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.
    expression string

    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 .

    durationInSeconds 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.
    expression str

    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 .

    duration_in_seconds str
    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.
    expression String

    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 .

    durationInSeconds 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.

    CanaryVisualReference, CanaryVisualReferenceArgs

    BaseCanaryRunId string
    Canary run id to be used as base reference for visual testing
    BaseScreenshots List<Pulumi.AwsNative.Synthetics.Inputs.CanaryBaseScreenshot>
    List of screenshots used as base reference for visual testing
    BaseCanaryRunId string
    Canary run id to be used as base reference for visual testing
    BaseScreenshots []CanaryBaseScreenshot
    List of screenshots used as base reference for visual testing
    baseCanaryRunId String
    Canary run id to be used as base reference for visual testing
    baseScreenshots List<CanaryBaseScreenshot>
    List of screenshots used as base reference for visual testing
    baseCanaryRunId string
    Canary run id to be used as base reference for visual testing
    baseScreenshots CanaryBaseScreenshot[]
    List of screenshots used as base reference for visual testing
    base_canary_run_id str
    Canary run id to be used as base reference for visual testing
    base_screenshots Sequence[CanaryBaseScreenshot]
    List of screenshots used as base reference for visual testing
    baseCanaryRunId String
    Canary run id to be used as base reference for visual testing
    baseScreenshots List<Property Map>
    List of screenshots used as base reference for visual testing

    CanaryVpcConfig, CanaryVpcConfigArgs

    SecurityGroupIds List<string>
    The IDs of the security groups for this canary.
    SubnetIds List<string>
    The IDs of the subnets where this canary is to run.
    VpcId string
    The ID of the VPC where this canary is to run.
    SecurityGroupIds []string
    The IDs of the security groups for this canary.
    SubnetIds []string
    The IDs of the subnets where this canary is to run.
    VpcId string
    The ID of the VPC where this canary is to run.
    securityGroupIds List<String>
    The IDs of the security groups for this canary.
    subnetIds List<String>
    The IDs of the subnets where this canary is to run.
    vpcId String
    The ID of the VPC where this canary is to run.
    securityGroupIds string[]
    The IDs of the security groups for this canary.
    subnetIds string[]
    The IDs of the subnets where this canary is to run.
    vpcId string
    The ID of the VPC where this canary is to run.
    security_group_ids Sequence[str]
    The IDs of the security groups for this canary.
    subnet_ids Sequence[str]
    The IDs of the subnets where this canary is to run.
    vpc_id str
    The ID of the VPC where this canary is to run.
    securityGroupIds List<String>
    The IDs of the security groups for this canary.
    subnetIds List<String>
    The IDs of the subnets where this canary is to run.
    vpcId String
    The ID of the VPC where this canary is to run.

    Tag, TagArgs

    Key string
    The key name of the tag
    Value string
    The value of the tag
    Key string
    The key name of the tag
    Value string
    The value of the tag
    key String
    The key name of the tag
    value String
    The value of the tag
    key string
    The key name of the tag
    value string
    The value of the tag
    key str
    The key name of the tag
    value str
    The value of the tag
    key String
    The key name of the tag
    value String
    The value of the tag

    Package Details

    Repository
    AWS Native pulumi/pulumi-aws-native
    License
    Apache-2.0
    aws-native logo

    AWS Native is in preview. AWS Classic is fully supported.

    AWS Native v0.108.4 published on Tuesday, Jun 18, 2024 by Pulumi