Class CanaryProps.Builder

java.lang.Object
software.amazon.awscdk.services.synthetics.CanaryProps.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CanaryProps>
Enclosing interface:
CanaryProps

@Stability(Experimental) public static final class CanaryProps.Builder extends Object implements software.amazon.jsii.Builder<CanaryProps>
A builder for CanaryProps
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • runtime

      @Stability(Experimental) public CanaryProps.Builder runtime(Runtime runtime)
      Sets the value of CanaryProps.getRuntime()
      Parameters:
      runtime - Specify the runtime version to use for the canary. This parameter is required.
      Returns:
      this
    • test

      @Stability(Experimental) public CanaryProps.Builder test(Test test)
      Sets the value of CanaryProps.getTest()
      Parameters:
      test - The type of test that you want your canary to run. This parameter is required. Use Test.custom() to specify the test to run.
      Returns:
      this
    • artifactsBucketLocation

      @Stability(Experimental) public CanaryProps.Builder artifactsBucketLocation(ArtifactsBucketLocation artifactsBucketLocation)
      Parameters:
      artifactsBucketLocation - The s3 location that stores the data of the canary runs.
      Returns:
      this
    • canaryName

      @Stability(Experimental) public CanaryProps.Builder canaryName(String canaryName)
      Sets the value of CanaryProps.getCanaryName()
      Parameters:
      canaryName - The name of the canary. Be sure to give it a descriptive name that distinguishes it from other canaries in your account.

      Do not include secrets or proprietary information in your canary name. The canary name makes up part of the canary ARN, which is included in outbound calls over the internet.

      Returns:
      this
    • environmentVariables

      @Stability(Experimental) public CanaryProps.Builder environmentVariables(Map<String,String> environmentVariables)
      Parameters:
      environmentVariables - Key-value pairs that the Synthetics caches and makes available for your canary scripts. Use environment variables to apply configuration changes, such as test and production environment configurations, without changing your Canary script source code.
      Returns:
      this
    • failureRetentionPeriod

      @Stability(Experimental) public CanaryProps.Builder failureRetentionPeriod(Duration failureRetentionPeriod)
      Parameters:
      failureRetentionPeriod - How many days should failed runs be retained.
      Returns:
      this
    • role

      @Stability(Experimental) public CanaryProps.Builder role(IRole role)
      Sets the value of CanaryProps.getRole()
      Parameters:
      role - Canary execution role. This is the role that will be assumed by the canary upon execution. It controls the permissions that the canary will have. The role must be assumable by the AWS Lambda service principal.

      If not supplied, a role will be created with all the required permissions. If you provide a Role, you must add the required permissions.

      Returns:
      this
    • schedule

      @Stability(Experimental) public CanaryProps.Builder schedule(Schedule schedule)
      Sets the value of CanaryProps.getSchedule()
      Parameters:
      schedule - Specify the schedule for how often the canary runs. For example, if you set schedule to rate(10 minutes), then the canary will run every 10 minutes. You can set the schedule with Schedule.rate(Duration) (recommended) or you can specify an expression using Schedule.expression().
      Returns:
      this
    • securityGroups

      @Stability(Experimental) public CanaryProps.Builder securityGroups(List<? extends ISecurityGroup> securityGroups)
      Parameters:
      securityGroups - The list of security groups to associate with the canary's network interfaces. You must provide vpc when using this prop.
      Returns:
      this
    • startAfterCreation

      @Stability(Experimental) public CanaryProps.Builder startAfterCreation(Boolean startAfterCreation)
      Parameters:
      startAfterCreation - Whether or not the canary should start after creation.
      Returns:
      this
    • successRetentionPeriod

      @Stability(Experimental) public CanaryProps.Builder successRetentionPeriod(Duration successRetentionPeriod)
      Parameters:
      successRetentionPeriod - How many days should successful runs be retained.
      Returns:
      this
    • timeToLive

      @Stability(Experimental) public CanaryProps.Builder timeToLive(Duration timeToLive)
      Sets the value of CanaryProps.getTimeToLive()
      Parameters:
      timeToLive - How long the canary will be in a 'RUNNING' state. For example, if you set timeToLive to be 1 hour and schedule to be rate(10 minutes), your canary will run at 10 minute intervals for an hour, for a total of 6 times.
      Returns:
      this
    • vpc

      @Stability(Experimental) public CanaryProps.Builder vpc(IVpc vpc)
      Sets the value of CanaryProps.getVpc()
      Parameters:
      vpc - The VPC where this canary is run. Specify this if the canary needs to access resources in a VPC.
      Returns:
      this
    • vpcSubnets

      @Stability(Experimental) public CanaryProps.Builder vpcSubnets(SubnetSelection vpcSubnets)
      Sets the value of CanaryProps.getVpcSubnets()
      Parameters:
      vpcSubnets - Where to place the network interfaces within the VPC. You must provide vpc when using this prop.
      Returns:
      this
    • build

      @Stability(Experimental) public CanaryProps build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<CanaryProps>
      Returns:
      a new instance of CanaryProps
      Throws:
      NullPointerException - if any required attribute was not provided