All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.cdklabs.cdk.ecs.codedeploy.ApiCanaryProps Maven / Gradle / Ivy

There is a newer version: 0.0.348
Show newest version
package io.github.cdklabs.cdk.ecs.codedeploy;

/**
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-21T18:14:39.394Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdk.ecs.codedeploy.$Module.class, fqn = "@cdklabs/cdk-ecs-codedeploy.ApiCanaryProps")
@software.amazon.jsii.Jsii.Proxy(ApiCanaryProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface ApiCanaryProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * (experimental) The base URL to use for tests.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.String getBaseUrl();

    /**
     * (experimental) The s3 location that stores the data of the canary runs.
     * 

* Default: - A new s3 bucket will be created without a prefix. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.synthetics.ArtifactsBucketLocation getArtifactsBucketLocation() { return null; } /** * (experimental) 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. *

* Default: - A unique name will be generated from the construct ID *

* @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/servicelens_canaries_security.html */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getCanaryName() { return null; } /** * (experimental) The threshold for triggering an alarm on the test duration. *

* Default: - no alarm is created for duration */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getDurationAlarmThreshold() { return null; } /** * (experimental) How many days should failed runs be retained. *

* Default: Duration.days(31) */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getFailureRetentionPeriod() { return null; } /** * (experimental) 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. *

* Default: - A unique role will be generated for this canary. * You can add permissions to roles by calling 'addToRolePolicy'. *

* @see required permissions: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-executionrolearn */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.iam.IRole getRole() { return null; } /** * (experimental) 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(). *

* Default: 'rate(5 minutes)' */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.synthetics.Schedule getSchedule() { return null; } /** * (experimental) The list of security groups to associate with the canary's network interfaces. *

* You must provide vpc when using this prop. *

* Default: - If the canary is placed within a VPC and a security group is * not specified a dedicated security group will be created for this canary. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getSecurityGroups() { return null; } /** * (experimental) Whether or not the canary should start after creation. *

* Default: true */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.Boolean getStartAfterCreation() { return null; } /** * (experimental) The steps to perform in the synthetic test. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getSteps() { return null; } /** * (experimental) How many days should successful runs be retained. *

* Default: Duration.days(31) */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getSuccessRetentionPeriod() { return null; } /** * (experimental) The number of threads to run concurrently for the synthetic test. *

* Default: - 20 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.Number getThreadCount() { return null; } /** * (experimental) 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. *

* Default: - no limit */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getTimeToLive() { return null; } /** * (experimental) The VPC where this canary is run. *

* Specify this if the canary needs to access resources in a VPC. *

* Default: - Not in VPC */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.IVpc getVpc() { return null; } /** * (experimental) Where to place the network interfaces within the VPC. *

* You must provide vpc when using this prop. *

* Default: - the Vpc default strategy if not specified */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.SubnetSelection getVpcSubnets() { return null; } /** * @return a {@link Builder} of {@link ApiCanaryProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) static Builder builder() { return new Builder(); } /** * A builder for {@link ApiCanaryProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String baseUrl; software.amazon.awscdk.services.synthetics.ArtifactsBucketLocation artifactsBucketLocation; java.lang.String canaryName; software.amazon.awscdk.Duration durationAlarmThreshold; software.amazon.awscdk.Duration failureRetentionPeriod; software.amazon.awscdk.services.iam.IRole role; software.amazon.awscdk.services.synthetics.Schedule schedule; java.util.List securityGroups; java.lang.Boolean startAfterCreation; java.util.List steps; software.amazon.awscdk.Duration successRetentionPeriod; java.lang.Number threadCount; software.amazon.awscdk.Duration timeToLive; software.amazon.awscdk.services.ec2.IVpc vpc; software.amazon.awscdk.services.ec2.SubnetSelection vpcSubnets; /** * Sets the value of {@link ApiCanaryProps#getBaseUrl} * @param baseUrl The base URL to use for tests. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder baseUrl(java.lang.String baseUrl) { this.baseUrl = baseUrl; return this; } /** * Sets the value of {@link ApiCanaryProps#getArtifactsBucketLocation} * @param artifactsBucketLocation The s3 location that stores the data of the canary runs. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder artifactsBucketLocation(software.amazon.awscdk.services.synthetics.ArtifactsBucketLocation artifactsBucketLocation) { this.artifactsBucketLocation = artifactsBucketLocation; return this; } /** * Sets the value of {@link ApiCanaryProps#getCanaryName} * @param 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder canaryName(java.lang.String canaryName) { this.canaryName = canaryName; return this; } /** * Sets the value of {@link ApiCanaryProps#getDurationAlarmThreshold} * @param durationAlarmThreshold The threshold for triggering an alarm on the test duration. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder durationAlarmThreshold(software.amazon.awscdk.Duration durationAlarmThreshold) { this.durationAlarmThreshold = durationAlarmThreshold; return this; } /** * Sets the value of {@link ApiCanaryProps#getFailureRetentionPeriod} * @param failureRetentionPeriod How many days should failed runs be retained. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder failureRetentionPeriod(software.amazon.awscdk.Duration failureRetentionPeriod) { this.failureRetentionPeriod = failureRetentionPeriod; return this; } /** * Sets the value of {@link ApiCanaryProps#getRole} * @param 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder role(software.amazon.awscdk.services.iam.IRole role) { this.role = role; return this; } /** * Sets the value of {@link ApiCanaryProps#getSchedule} * @param 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(). * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder schedule(software.amazon.awscdk.services.synthetics.Schedule schedule) { this.schedule = schedule; return this; } /** * Sets the value of {@link ApiCanaryProps#getSecurityGroups} * @param securityGroups The list of security groups to associate with the canary's network interfaces. * You must provide vpc when using this prop. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder securityGroups(java.util.List securityGroups) { this.securityGroups = (java.util.List)securityGroups; return this; } /** * Sets the value of {@link ApiCanaryProps#getStartAfterCreation} * @param startAfterCreation Whether or not the canary should start after creation. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder startAfterCreation(java.lang.Boolean startAfterCreation) { this.startAfterCreation = startAfterCreation; return this; } /** * Sets the value of {@link ApiCanaryProps#getSteps} * @param steps The steps to perform in the synthetic test. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder steps(java.util.List steps) { this.steps = (java.util.List)steps; return this; } /** * Sets the value of {@link ApiCanaryProps#getSuccessRetentionPeriod} * @param successRetentionPeriod How many days should successful runs be retained. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder successRetentionPeriod(software.amazon.awscdk.Duration successRetentionPeriod) { this.successRetentionPeriod = successRetentionPeriod; return this; } /** * Sets the value of {@link ApiCanaryProps#getThreadCount} * @param threadCount The number of threads to run concurrently for the synthetic test. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder threadCount(java.lang.Number threadCount) { this.threadCount = threadCount; return this; } /** * Sets the value of {@link ApiCanaryProps#getTimeToLive} * @param 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder timeToLive(software.amazon.awscdk.Duration timeToLive) { this.timeToLive = timeToLive; return this; } /** * Sets the value of {@link ApiCanaryProps#getVpc} * @param vpc The VPC where this canary is run. * Specify this if the canary needs to access resources in a VPC. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder vpc(software.amazon.awscdk.services.ec2.IVpc vpc) { this.vpc = vpc; return this; } /** * Sets the value of {@link ApiCanaryProps#getVpcSubnets} * @param vpcSubnets Where to place the network interfaces within the VPC. * You must provide vpc when using this prop. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder vpcSubnets(software.amazon.awscdk.services.ec2.SubnetSelection vpcSubnets) { this.vpcSubnets = vpcSubnets; return this; } /** * Builds the configured instance. * @return a new instance of {@link ApiCanaryProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public ApiCanaryProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ApiCanaryProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ApiCanaryProps { private final java.lang.String baseUrl; private final software.amazon.awscdk.services.synthetics.ArtifactsBucketLocation artifactsBucketLocation; private final java.lang.String canaryName; private final software.amazon.awscdk.Duration durationAlarmThreshold; private final software.amazon.awscdk.Duration failureRetentionPeriod; private final software.amazon.awscdk.services.iam.IRole role; private final software.amazon.awscdk.services.synthetics.Schedule schedule; private final java.util.List securityGroups; private final java.lang.Boolean startAfterCreation; private final java.util.List steps; private final software.amazon.awscdk.Duration successRetentionPeriod; private final java.lang.Number threadCount; private final software.amazon.awscdk.Duration timeToLive; private final software.amazon.awscdk.services.ec2.IVpc vpc; private final software.amazon.awscdk.services.ec2.SubnetSelection vpcSubnets; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.baseUrl = software.amazon.jsii.Kernel.get(this, "baseUrl", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.artifactsBucketLocation = software.amazon.jsii.Kernel.get(this, "artifactsBucketLocation", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.synthetics.ArtifactsBucketLocation.class)); this.canaryName = software.amazon.jsii.Kernel.get(this, "canaryName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.durationAlarmThreshold = software.amazon.jsii.Kernel.get(this, "durationAlarmThreshold", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.failureRetentionPeriod = software.amazon.jsii.Kernel.get(this, "failureRetentionPeriod", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.role = software.amazon.jsii.Kernel.get(this, "role", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.iam.IRole.class)); this.schedule = software.amazon.jsii.Kernel.get(this, "schedule", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.synthetics.Schedule.class)); this.securityGroups = software.amazon.jsii.Kernel.get(this, "securityGroups", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.ISecurityGroup.class))); this.startAfterCreation = software.amazon.jsii.Kernel.get(this, "startAfterCreation", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.steps = software.amazon.jsii.Kernel.get(this, "steps", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdk.ecs.codedeploy.ApiTestStep.class))); this.successRetentionPeriod = software.amazon.jsii.Kernel.get(this, "successRetentionPeriod", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.threadCount = software.amazon.jsii.Kernel.get(this, "threadCount", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.timeToLive = software.amazon.jsii.Kernel.get(this, "timeToLive", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.vpc = software.amazon.jsii.Kernel.get(this, "vpc", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.IVpc.class)); this.vpcSubnets = software.amazon.jsii.Kernel.get(this, "vpcSubnets", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.SubnetSelection.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.baseUrl = java.util.Objects.requireNonNull(builder.baseUrl, "baseUrl is required"); this.artifactsBucketLocation = builder.artifactsBucketLocation; this.canaryName = builder.canaryName; this.durationAlarmThreshold = builder.durationAlarmThreshold; this.failureRetentionPeriod = builder.failureRetentionPeriod; this.role = builder.role; this.schedule = builder.schedule; this.securityGroups = (java.util.List)builder.securityGroups; this.startAfterCreation = builder.startAfterCreation; this.steps = (java.util.List)builder.steps; this.successRetentionPeriod = builder.successRetentionPeriod; this.threadCount = builder.threadCount; this.timeToLive = builder.timeToLive; this.vpc = builder.vpc; this.vpcSubnets = builder.vpcSubnets; } @Override public final java.lang.String getBaseUrl() { return this.baseUrl; } @Override public final software.amazon.awscdk.services.synthetics.ArtifactsBucketLocation getArtifactsBucketLocation() { return this.artifactsBucketLocation; } @Override public final java.lang.String getCanaryName() { return this.canaryName; } @Override public final software.amazon.awscdk.Duration getDurationAlarmThreshold() { return this.durationAlarmThreshold; } @Override public final software.amazon.awscdk.Duration getFailureRetentionPeriod() { return this.failureRetentionPeriod; } @Override public final software.amazon.awscdk.services.iam.IRole getRole() { return this.role; } @Override public final software.amazon.awscdk.services.synthetics.Schedule getSchedule() { return this.schedule; } @Override public final java.util.List getSecurityGroups() { return this.securityGroups; } @Override public final java.lang.Boolean getStartAfterCreation() { return this.startAfterCreation; } @Override public final java.util.List getSteps() { return this.steps; } @Override public final software.amazon.awscdk.Duration getSuccessRetentionPeriod() { return this.successRetentionPeriod; } @Override public final java.lang.Number getThreadCount() { return this.threadCount; } @Override public final software.amazon.awscdk.Duration getTimeToLive() { return this.timeToLive; } @Override public final software.amazon.awscdk.services.ec2.IVpc getVpc() { return this.vpc; } @Override public final software.amazon.awscdk.services.ec2.SubnetSelection getVpcSubnets() { return this.vpcSubnets; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("baseUrl", om.valueToTree(this.getBaseUrl())); if (this.getArtifactsBucketLocation() != null) { data.set("artifactsBucketLocation", om.valueToTree(this.getArtifactsBucketLocation())); } if (this.getCanaryName() != null) { data.set("canaryName", om.valueToTree(this.getCanaryName())); } if (this.getDurationAlarmThreshold() != null) { data.set("durationAlarmThreshold", om.valueToTree(this.getDurationAlarmThreshold())); } if (this.getFailureRetentionPeriod() != null) { data.set("failureRetentionPeriod", om.valueToTree(this.getFailureRetentionPeriod())); } if (this.getRole() != null) { data.set("role", om.valueToTree(this.getRole())); } if (this.getSchedule() != null) { data.set("schedule", om.valueToTree(this.getSchedule())); } if (this.getSecurityGroups() != null) { data.set("securityGroups", om.valueToTree(this.getSecurityGroups())); } if (this.getStartAfterCreation() != null) { data.set("startAfterCreation", om.valueToTree(this.getStartAfterCreation())); } if (this.getSteps() != null) { data.set("steps", om.valueToTree(this.getSteps())); } if (this.getSuccessRetentionPeriod() != null) { data.set("successRetentionPeriod", om.valueToTree(this.getSuccessRetentionPeriod())); } if (this.getThreadCount() != null) { data.set("threadCount", om.valueToTree(this.getThreadCount())); } if (this.getTimeToLive() != null) { data.set("timeToLive", om.valueToTree(this.getTimeToLive())); } if (this.getVpc() != null) { data.set("vpc", om.valueToTree(this.getVpc())); } if (this.getVpcSubnets() != null) { data.set("vpcSubnets", om.valueToTree(this.getVpcSubnets())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@cdklabs/cdk-ecs-codedeploy.ApiCanaryProps")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ApiCanaryProps.Jsii$Proxy that = (ApiCanaryProps.Jsii$Proxy) o; if (!baseUrl.equals(that.baseUrl)) return false; if (this.artifactsBucketLocation != null ? !this.artifactsBucketLocation.equals(that.artifactsBucketLocation) : that.artifactsBucketLocation != null) return false; if (this.canaryName != null ? !this.canaryName.equals(that.canaryName) : that.canaryName != null) return false; if (this.durationAlarmThreshold != null ? !this.durationAlarmThreshold.equals(that.durationAlarmThreshold) : that.durationAlarmThreshold != null) return false; if (this.failureRetentionPeriod != null ? !this.failureRetentionPeriod.equals(that.failureRetentionPeriod) : that.failureRetentionPeriod != null) return false; if (this.role != null ? !this.role.equals(that.role) : that.role != null) return false; if (this.schedule != null ? !this.schedule.equals(that.schedule) : that.schedule != null) return false; if (this.securityGroups != null ? !this.securityGroups.equals(that.securityGroups) : that.securityGroups != null) return false; if (this.startAfterCreation != null ? !this.startAfterCreation.equals(that.startAfterCreation) : that.startAfterCreation != null) return false; if (this.steps != null ? !this.steps.equals(that.steps) : that.steps != null) return false; if (this.successRetentionPeriod != null ? !this.successRetentionPeriod.equals(that.successRetentionPeriod) : that.successRetentionPeriod != null) return false; if (this.threadCount != null ? !this.threadCount.equals(that.threadCount) : that.threadCount != null) return false; if (this.timeToLive != null ? !this.timeToLive.equals(that.timeToLive) : that.timeToLive != null) return false; if (this.vpc != null ? !this.vpc.equals(that.vpc) : that.vpc != null) return false; return this.vpcSubnets != null ? this.vpcSubnets.equals(that.vpcSubnets) : that.vpcSubnets == null; } @Override public final int hashCode() { int result = this.baseUrl.hashCode(); result = 31 * result + (this.artifactsBucketLocation != null ? this.artifactsBucketLocation.hashCode() : 0); result = 31 * result + (this.canaryName != null ? this.canaryName.hashCode() : 0); result = 31 * result + (this.durationAlarmThreshold != null ? this.durationAlarmThreshold.hashCode() : 0); result = 31 * result + (this.failureRetentionPeriod != null ? this.failureRetentionPeriod.hashCode() : 0); result = 31 * result + (this.role != null ? this.role.hashCode() : 0); result = 31 * result + (this.schedule != null ? this.schedule.hashCode() : 0); result = 31 * result + (this.securityGroups != null ? this.securityGroups.hashCode() : 0); result = 31 * result + (this.startAfterCreation != null ? this.startAfterCreation.hashCode() : 0); result = 31 * result + (this.steps != null ? this.steps.hashCode() : 0); result = 31 * result + (this.successRetentionPeriod != null ? this.successRetentionPeriod.hashCode() : 0); result = 31 * result + (this.threadCount != null ? this.threadCount.hashCode() : 0); result = 31 * result + (this.timeToLive != null ? this.timeToLive.hashCode() : 0); result = 31 * result + (this.vpc != null ? this.vpc.hashCode() : 0); result = 31 * result + (this.vpcSubnets != null ? this.vpcSubnets.hashCode() : 0); return result; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy