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

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

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

/**
 * (experimental) The properties for the ApplicationLoadBalancedCodeDeployedFargateService service.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-13T18:16:05.251Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdk.ecs.codedeploy.$Module.class, fqn = "@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateServiceProps")
@software.amazon.jsii.Jsii.Proxy(ApplicationLoadBalancedCodeDeployedFargateServiceProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface ApplicationLoadBalancedCodeDeployedFargateServiceProps extends software.amazon.jsii.JsiiSerializable, software.amazon.awscdk.services.ecs.patterns.ApplicationLoadBalancedFargateServiceProps {

    /**
     * (experimental) The bucket to use for access logs from the Application Load Balancer.
     * 

* Default: - a new S3 bucket will be created */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.s3.IBucket getAccessLogBucket() { return null; } /** * (experimental) The prefix to use for access logs from the Application Load Balancer. *

* Default: - none */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getAccessLogPrefix() { return null; } /** * (experimental) The frequency for running the api canaries. *

* Default: - 5 minutes */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getApiCanarySchedule() { 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 getApiCanaryThreadCount() { return null; } /** * (experimental) The threshold for how long a api canary can take to run. *

* Default: - no alarm is created for test duration */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getApiCanaryTimeout() { return null; } /** * (experimental) The steps to run in the canary. *

* Default: - no synthetic test will be created */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getApiTestSteps() { return null; } /** * (experimental) The physical, human-readable name of the CodeDeploy Application. *

* Default: an auto-generated name will be used */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getApplicationName() { return null; } /** * (experimental) The deployment configuration to use for the deployment group. *

* Default: - EcsDeploymentConfig.ALL_AT_ONCE */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.codedeploy.IEcsDeploymentConfig getDeploymentConfig() { return null; } /** * (experimental) The physical, human-readable name of the CodeDeploy Deployment Group. *

* Default: An auto-generated name will be used. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getDeploymentGroupName() { return null; } /** * (experimental) The timeout for a CodeDeploy deployment. *

* Default: - 60 minutes */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getDeploymentTimeout() { return null; } /** * (experimental) The amount of time for ELB to wait before changing the state of a deregistering target from 'draining' to 'unused'. *

* Default: - 300 seconds */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getDeregistrationDelay() { return null; } /** * (experimental) Optional lifecycle hooks. *

* Default: - no lifecycle hooks */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable io.github.cdklabs.cdk.ecs.codedeploy.AppSpecHooks getHooks() { return null; } /** * (experimental) The threshold for response time alarm. *

* Default: - no alarm will be created */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getResponseTimeAlarmThreshold() { return null; } /** * (experimental) The healthcheck to configure on the Application Load Balancer target groups. *

* Default: - no health check is configured */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.elasticloadbalancingv2.HealthCheck getTargetHealthCheck() { return null; } /** * (experimental) The time to wait before terminating the original (blue) task set. *

* Default: - 10 minutes */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getTerminationWaitTime() { return null; } /** * (experimental) The port to use for test traffic on the listener. *

* Default: - listenerPort + 1 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.Number getTestPort() { return null; } /** * @return a {@link Builder} of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) static Builder builder() { return new Builder(); } /** * A builder for {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static final class Builder implements software.amazon.jsii.Builder { software.amazon.awscdk.services.s3.IBucket accessLogBucket; java.lang.String accessLogPrefix; software.amazon.awscdk.Duration apiCanarySchedule; java.lang.Number apiCanaryThreadCount; software.amazon.awscdk.Duration apiCanaryTimeout; java.util.List apiTestSteps; java.lang.String applicationName; software.amazon.awscdk.services.codedeploy.IEcsDeploymentConfig deploymentConfig; java.lang.String deploymentGroupName; software.amazon.awscdk.Duration deploymentTimeout; software.amazon.awscdk.Duration deregistrationDelay; io.github.cdklabs.cdk.ecs.codedeploy.AppSpecHooks hooks; software.amazon.awscdk.Duration responseTimeAlarmThreshold; software.amazon.awscdk.services.elasticloadbalancingv2.HealthCheck targetHealthCheck; software.amazon.awscdk.Duration terminationWaitTime; java.lang.Number testPort; java.lang.Boolean assignPublicIp; software.amazon.awscdk.services.ecs.HealthCheck healthCheck; java.util.List securityGroups; software.amazon.awscdk.services.ec2.SubnetSelection taskSubnets; java.util.List capacityProviderStrategies; software.amazon.awscdk.services.certificatemanager.ICertificate certificate; software.amazon.awscdk.services.ecs.DeploymentCircuitBreaker circuitBreaker; software.amazon.awscdk.services.ecs.CloudMapOptions cloudMapOptions; software.amazon.awscdk.services.ecs.ICluster cluster; software.amazon.awscdk.services.ecs.DeploymentController deploymentController; java.lang.Number desiredCount; java.lang.String domainName; software.amazon.awscdk.services.route53.IHostedZone domainZone; java.lang.Boolean enableEcsManagedTags; java.lang.Boolean enableExecuteCommand; software.amazon.awscdk.Duration healthCheckGracePeriod; software.amazon.awscdk.Duration idleTimeout; java.lang.Number listenerPort; software.amazon.awscdk.services.elasticloadbalancingv2.IApplicationLoadBalancer loadBalancer; java.lang.String loadBalancerName; java.lang.Number maxHealthyPercent; java.lang.Number minHealthyPercent; java.lang.Boolean openListener; software.amazon.awscdk.services.ecs.PropagatedTagSource propagateTags; software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocol protocol; software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocolVersion protocolVersion; java.lang.Boolean publicLoadBalancer; software.amazon.awscdk.services.ecs.patterns.ApplicationLoadBalancedServiceRecordType recordType; java.lang.Boolean redirectHttp; java.lang.String serviceName; software.amazon.awscdk.services.elasticloadbalancingv2.SslPolicy sslPolicy; software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocol targetProtocol; software.amazon.awscdk.services.ecs.patterns.ApplicationLoadBalancedTaskImageOptions taskImageOptions; software.amazon.awscdk.services.ec2.IVpc vpc; java.lang.Number cpu; java.lang.Number ephemeralStorageGiB; java.lang.Number memoryLimitMiB; software.amazon.awscdk.services.ecs.FargatePlatformVersion platformVersion; software.amazon.awscdk.services.ecs.RuntimePlatform runtimePlatform; software.amazon.awscdk.services.ecs.FargateTaskDefinition taskDefinition; /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getAccessLogBucket} * @param accessLogBucket The bucket to use for access logs from the Application Load Balancer. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder accessLogBucket(software.amazon.awscdk.services.s3.IBucket accessLogBucket) { this.accessLogBucket = accessLogBucket; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getAccessLogPrefix} * @param accessLogPrefix The prefix to use for access logs from the Application Load Balancer. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder accessLogPrefix(java.lang.String accessLogPrefix) { this.accessLogPrefix = accessLogPrefix; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getApiCanarySchedule} * @param apiCanarySchedule The frequency for running the api canaries. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder apiCanarySchedule(software.amazon.awscdk.Duration apiCanarySchedule) { this.apiCanarySchedule = apiCanarySchedule; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getApiCanaryThreadCount} * @param apiCanaryThreadCount 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 apiCanaryThreadCount(java.lang.Number apiCanaryThreadCount) { this.apiCanaryThreadCount = apiCanaryThreadCount; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getApiCanaryTimeout} * @param apiCanaryTimeout The threshold for how long a api canary can take to run. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder apiCanaryTimeout(software.amazon.awscdk.Duration apiCanaryTimeout) { this.apiCanaryTimeout = apiCanaryTimeout; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getApiTestSteps} * @param apiTestSteps The steps to run in the canary. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder apiTestSteps(java.util.List apiTestSteps) { this.apiTestSteps = (java.util.List)apiTestSteps; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getApplicationName} * @param applicationName The physical, human-readable name of the CodeDeploy Application. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder applicationName(java.lang.String applicationName) { this.applicationName = applicationName; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getDeploymentConfig} * @param deploymentConfig The deployment configuration to use for the deployment group. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder deploymentConfig(software.amazon.awscdk.services.codedeploy.IEcsDeploymentConfig deploymentConfig) { this.deploymentConfig = deploymentConfig; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getDeploymentGroupName} * @param deploymentGroupName The physical, human-readable name of the CodeDeploy Deployment Group. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder deploymentGroupName(java.lang.String deploymentGroupName) { this.deploymentGroupName = deploymentGroupName; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getDeploymentTimeout} * @param deploymentTimeout The timeout for a CodeDeploy deployment. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder deploymentTimeout(software.amazon.awscdk.Duration deploymentTimeout) { this.deploymentTimeout = deploymentTimeout; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getDeregistrationDelay} * @param deregistrationDelay The amount of time for ELB to wait before changing the state of a deregistering target from 'draining' to 'unused'. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder deregistrationDelay(software.amazon.awscdk.Duration deregistrationDelay) { this.deregistrationDelay = deregistrationDelay; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getHooks} * @param hooks Optional lifecycle hooks. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder hooks(io.github.cdklabs.cdk.ecs.codedeploy.AppSpecHooks hooks) { this.hooks = hooks; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getResponseTimeAlarmThreshold} * @param responseTimeAlarmThreshold The threshold for response time alarm. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder responseTimeAlarmThreshold(software.amazon.awscdk.Duration responseTimeAlarmThreshold) { this.responseTimeAlarmThreshold = responseTimeAlarmThreshold; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getTargetHealthCheck} * @param targetHealthCheck The healthcheck to configure on the Application Load Balancer target groups. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder targetHealthCheck(software.amazon.awscdk.services.elasticloadbalancingv2.HealthCheck targetHealthCheck) { this.targetHealthCheck = targetHealthCheck; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getTerminationWaitTime} * @param terminationWaitTime The time to wait before terminating the original (blue) task set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder terminationWaitTime(software.amazon.awscdk.Duration terminationWaitTime) { this.terminationWaitTime = terminationWaitTime; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getTestPort} * @param testPort The port to use for test traffic on the listener. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder testPort(java.lang.Number testPort) { this.testPort = testPort; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getAssignPublicIp} * @param assignPublicIp Determines whether the service will be assigned a public IP address. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder assignPublicIp(java.lang.Boolean assignPublicIp) { this.assignPublicIp = assignPublicIp; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getHealthCheck} * @param healthCheck The health check command and associated configuration parameters for the container. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder healthCheck(software.amazon.awscdk.services.ecs.HealthCheck healthCheck) { this.healthCheck = healthCheck; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getSecurityGroups} * @param securityGroups The security groups to associate with the service. * If you do not specify a security group, a new security group is created. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder securityGroups(java.util.List securityGroups) { this.securityGroups = (java.util.List)securityGroups; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getTaskSubnets} * @param taskSubnets The subnets to associate with the service. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder taskSubnets(software.amazon.awscdk.services.ec2.SubnetSelection taskSubnets) { this.taskSubnets = taskSubnets; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getCapacityProviderStrategies} * @param capacityProviderStrategies A list of Capacity Provider strategies used to place a service. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder capacityProviderStrategies(java.util.List capacityProviderStrategies) { this.capacityProviderStrategies = (java.util.List)capacityProviderStrategies; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getCertificate} * @param certificate Certificate Manager certificate to associate with the load balancer. * Setting this option will set the load balancer protocol to HTTPS. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder certificate(software.amazon.awscdk.services.certificatemanager.ICertificate certificate) { this.certificate = certificate; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getCircuitBreaker} * @param circuitBreaker Whether to enable the deployment circuit breaker. * If this property is defined, circuit breaker will be implicitly * enabled. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder circuitBreaker(software.amazon.awscdk.services.ecs.DeploymentCircuitBreaker circuitBreaker) { this.circuitBreaker = circuitBreaker; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getCloudMapOptions} * @param cloudMapOptions The options for configuring an Amazon ECS service to use service discovery. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cloudMapOptions(software.amazon.awscdk.services.ecs.CloudMapOptions cloudMapOptions) { this.cloudMapOptions = cloudMapOptions; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getCluster} * @param cluster The name of the cluster that hosts the service. * If a cluster is specified, the vpc construct should be omitted. Alternatively, you can omit both cluster and vpc. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cluster(software.amazon.awscdk.services.ecs.ICluster cluster) { this.cluster = cluster; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getDeploymentController} * @param deploymentController Specifies which deployment controller to use for the service. * For more information, see * Amazon ECS Deployment Types * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder deploymentController(software.amazon.awscdk.services.ecs.DeploymentController deploymentController) { this.deploymentController = deploymentController; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getDesiredCount} * @param desiredCount The desired number of instantiations of the task definition to keep running on the service. * The minimum value is 1 * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder desiredCount(java.lang.Number desiredCount) { this.desiredCount = desiredCount; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getDomainName} * @param domainName The domain name for the service, e.g. "api.example.com.". * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder domainName(java.lang.String domainName) { this.domainName = domainName; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getDomainZone} * @param domainZone The Route53 hosted zone for the domain, e.g. "example.com.". * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder domainZone(software.amazon.awscdk.services.route53.IHostedZone domainZone) { this.domainZone = domainZone; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getEnableEcsManagedTags} * @param enableEcsManagedTags Specifies whether to enable Amazon ECS managed tags for the tasks within the service. * For more information, see * Tagging Your Amazon ECS Resources * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder enableEcsManagedTags(java.lang.Boolean enableEcsManagedTags) { this.enableEcsManagedTags = enableEcsManagedTags; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getEnableExecuteCommand} * @param enableExecuteCommand Whether ECS Exec should be enabled. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder enableExecuteCommand(java.lang.Boolean enableExecuteCommand) { this.enableExecuteCommand = enableExecuteCommand; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getHealthCheckGracePeriod} * @param healthCheckGracePeriod The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder healthCheckGracePeriod(software.amazon.awscdk.Duration healthCheckGracePeriod) { this.healthCheckGracePeriod = healthCheckGracePeriod; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getIdleTimeout} * @param idleTimeout The load balancer idle timeout, in seconds. * Can be between 1 and 4000 seconds * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder idleTimeout(software.amazon.awscdk.Duration idleTimeout) { this.idleTimeout = idleTimeout; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getListenerPort} * @param listenerPort Listener port of the application load balancer that will serve traffic to the service. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder listenerPort(java.lang.Number listenerPort) { this.listenerPort = listenerPort; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getLoadBalancer} * @param loadBalancer The application load balancer that will serve traffic to the service. * The VPC attribute of a load balancer must be specified for it to be used * to create a new service with this pattern. *

* [disable-awslint:ref-via-interface] * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder loadBalancer(software.amazon.awscdk.services.elasticloadbalancingv2.IApplicationLoadBalancer loadBalancer) { this.loadBalancer = loadBalancer; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getLoadBalancerName} * @param loadBalancerName Name of the load balancer. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder loadBalancerName(java.lang.String loadBalancerName) { this.loadBalancerName = loadBalancerName; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getMaxHealthyPercent} * @param maxHealthyPercent The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder maxHealthyPercent(java.lang.Number maxHealthyPercent) { this.maxHealthyPercent = maxHealthyPercent; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getMinHealthyPercent} * @param minHealthyPercent The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder minHealthyPercent(java.lang.Number minHealthyPercent) { this.minHealthyPercent = minHealthyPercent; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getOpenListener} * @param openListener Determines whether or not the Security Group for the Load Balancer's Listener will be open to all traffic by default. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder openListener(java.lang.Boolean openListener) { this.openListener = openListener; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getPropagateTags} * @param propagateTags Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. * Tags can only be propagated to the tasks within the service during service creation. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder propagateTags(software.amazon.awscdk.services.ecs.PropagatedTagSource propagateTags) { this.propagateTags = propagateTags; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getProtocol} * @param protocol The protocol for connections from clients to the load balancer. * The load balancer port is determined from the protocol (port 80 for * HTTP, port 443 for HTTPS). If HTTPS, either a certificate or domain * name and domain zone must also be specified. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder protocol(software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocol protocol) { this.protocol = protocol; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getProtocolVersion} * @param protocolVersion The protocol version to use. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder protocolVersion(software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocolVersion protocolVersion) { this.protocolVersion = protocolVersion; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getPublicLoadBalancer} * @param publicLoadBalancer Determines whether the Load Balancer will be internet-facing. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder publicLoadBalancer(java.lang.Boolean publicLoadBalancer) { this.publicLoadBalancer = publicLoadBalancer; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getRecordType} * @param recordType Specifies whether the Route53 record should be a CNAME, an A record using the Alias feature or no record at all. * This is useful if you need to work with DNS systems that do not support alias records. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder recordType(software.amazon.awscdk.services.ecs.patterns.ApplicationLoadBalancedServiceRecordType recordType) { this.recordType = recordType; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getRedirectHttp} * @param redirectHttp Specifies whether the load balancer should redirect traffic on port 80 to port 443 to support HTTP->HTTPS redirects This is only valid if the protocol of the ALB is HTTPS. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder redirectHttp(java.lang.Boolean redirectHttp) { this.redirectHttp = redirectHttp; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getServiceName} * @param serviceName The name of the service. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serviceName(java.lang.String serviceName) { this.serviceName = serviceName; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getSslPolicy} * @param sslPolicy The security policy that defines which ciphers and protocols are supported by the ALB Listener. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder sslPolicy(software.amazon.awscdk.services.elasticloadbalancingv2.SslPolicy sslPolicy) { this.sslPolicy = sslPolicy; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getTargetProtocol} * @param targetProtocol The protocol for connections from the load balancer to the ECS tasks. * The default target port is determined from the protocol (port 80 for * HTTP, port 443 for HTTPS). * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder targetProtocol(software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocol targetProtocol) { this.targetProtocol = targetProtocol; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getTaskImageOptions} * @param taskImageOptions The properties required to create a new task definition. * TaskDefinition or TaskImageOptions must be specified, but not both. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder taskImageOptions(software.amazon.awscdk.services.ecs.patterns.ApplicationLoadBalancedTaskImageOptions taskImageOptions) { this.taskImageOptions = taskImageOptions; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getVpc} * @param vpc The VPC where the container instances will be launched or the elastic network interfaces (ENIs) will be deployed. * If a vpc is specified, the cluster construct should be omitted. Alternatively, you can omit both vpc and cluster. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder vpc(software.amazon.awscdk.services.ec2.IVpc vpc) { this.vpc = vpc; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getCpu} * @param cpu The number of cpu units used by the task. * Valid values, which determines your range of valid values for the memory parameter: *

* 256 (.25 vCPU) - Available memory values: 0.5GB, 1GB, 2GB *

* 512 (.5 vCPU) - Available memory values: 1GB, 2GB, 3GB, 4GB *

* 1024 (1 vCPU) - Available memory values: 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB *

* 2048 (2 vCPU) - Available memory values: Between 4GB and 16GB in 1GB increments *

* 4096 (4 vCPU) - Available memory values: Between 8GB and 30GB in 1GB increments *

* 8192 (8 vCPU) - Available memory values: Between 16GB and 60GB in 4GB increments *

* 16384 (16 vCPU) - Available memory values: Between 32GB and 120GB in 8GB increments *

* This default is set in the underlying FargateTaskDefinition construct. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cpu(java.lang.Number cpu) { this.cpu = cpu; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getEphemeralStorageGiB} * @param ephemeralStorageGiB The amount (in GiB) of ephemeral storage to be allocated to the task. * The minimum supported value is 21 GiB and the maximum supported value is 200 GiB. *

* Only supported in Fargate platform version 1.4.0 or later. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder ephemeralStorageGiB(java.lang.Number ephemeralStorageGiB) { this.ephemeralStorageGiB = ephemeralStorageGiB; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getMemoryLimitMiB} * @param memoryLimitMiB The amount (in MiB) of memory used by the task. * This field is required and you must use one of the following values, which determines your range of valid values * for the cpu parameter: *

* 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU) *

* 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU) *

* 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) *

* Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU) *

* Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU) *

* Between 16384 (16 GB) and 61440 (60 GB) in increments of 4096 (4 GB) - Available cpu values: 8192 (8 vCPU) *

* Between 32768 (32 GB) and 122880 (120 GB) in increments of 8192 (8 GB) - Available cpu values: 16384 (16 vCPU) *

* This default is set in the underlying FargateTaskDefinition construct. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder memoryLimitMiB(java.lang.Number memoryLimitMiB) { this.memoryLimitMiB = memoryLimitMiB; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getPlatformVersion} * @param platformVersion The platform version on which to run your service. * If one is not specified, the LATEST platform version is used by default. For more information, see * AWS Fargate Platform Versions * in the Amazon Elastic Container Service Developer Guide. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder platformVersion(software.amazon.awscdk.services.ecs.FargatePlatformVersion platformVersion) { this.platformVersion = platformVersion; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getRuntimePlatform} * @param runtimePlatform The runtime platform of the task definition. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder runtimePlatform(software.amazon.awscdk.services.ecs.RuntimePlatform runtimePlatform) { this.runtimePlatform = runtimePlatform; return this; } /** * Sets the value of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps#getTaskDefinition} * @param taskDefinition The task definition to use for tasks in the service. TaskDefinition or TaskImageOptions must be specified, but not both. * [disable-awslint:ref-via-interface] * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder taskDefinition(software.amazon.awscdk.services.ecs.FargateTaskDefinition taskDefinition) { this.taskDefinition = taskDefinition; return this; } /** * Builds the configured instance. * @return a new instance of {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public ApplicationLoadBalancedCodeDeployedFargateServiceProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ApplicationLoadBalancedCodeDeployedFargateServiceProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ApplicationLoadBalancedCodeDeployedFargateServiceProps { private final software.amazon.awscdk.services.s3.IBucket accessLogBucket; private final java.lang.String accessLogPrefix; private final software.amazon.awscdk.Duration apiCanarySchedule; private final java.lang.Number apiCanaryThreadCount; private final software.amazon.awscdk.Duration apiCanaryTimeout; private final java.util.List apiTestSteps; private final java.lang.String applicationName; private final software.amazon.awscdk.services.codedeploy.IEcsDeploymentConfig deploymentConfig; private final java.lang.String deploymentGroupName; private final software.amazon.awscdk.Duration deploymentTimeout; private final software.amazon.awscdk.Duration deregistrationDelay; private final io.github.cdklabs.cdk.ecs.codedeploy.AppSpecHooks hooks; private final software.amazon.awscdk.Duration responseTimeAlarmThreshold; private final software.amazon.awscdk.services.elasticloadbalancingv2.HealthCheck targetHealthCheck; private final software.amazon.awscdk.Duration terminationWaitTime; private final java.lang.Number testPort; private final java.lang.Boolean assignPublicIp; private final software.amazon.awscdk.services.ecs.HealthCheck healthCheck; private final java.util.List securityGroups; private final software.amazon.awscdk.services.ec2.SubnetSelection taskSubnets; private final java.util.List capacityProviderStrategies; private final software.amazon.awscdk.services.certificatemanager.ICertificate certificate; private final software.amazon.awscdk.services.ecs.DeploymentCircuitBreaker circuitBreaker; private final software.amazon.awscdk.services.ecs.CloudMapOptions cloudMapOptions; private final software.amazon.awscdk.services.ecs.ICluster cluster; private final software.amazon.awscdk.services.ecs.DeploymentController deploymentController; private final java.lang.Number desiredCount; private final java.lang.String domainName; private final software.amazon.awscdk.services.route53.IHostedZone domainZone; private final java.lang.Boolean enableEcsManagedTags; private final java.lang.Boolean enableExecuteCommand; private final software.amazon.awscdk.Duration healthCheckGracePeriod; private final software.amazon.awscdk.Duration idleTimeout; private final java.lang.Number listenerPort; private final software.amazon.awscdk.services.elasticloadbalancingv2.IApplicationLoadBalancer loadBalancer; private final java.lang.String loadBalancerName; private final java.lang.Number maxHealthyPercent; private final java.lang.Number minHealthyPercent; private final java.lang.Boolean openListener; private final software.amazon.awscdk.services.ecs.PropagatedTagSource propagateTags; private final software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocol protocol; private final software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocolVersion protocolVersion; private final java.lang.Boolean publicLoadBalancer; private final software.amazon.awscdk.services.ecs.patterns.ApplicationLoadBalancedServiceRecordType recordType; private final java.lang.Boolean redirectHttp; private final java.lang.String serviceName; private final software.amazon.awscdk.services.elasticloadbalancingv2.SslPolicy sslPolicy; private final software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocol targetProtocol; private final software.amazon.awscdk.services.ecs.patterns.ApplicationLoadBalancedTaskImageOptions taskImageOptions; private final software.amazon.awscdk.services.ec2.IVpc vpc; private final java.lang.Number cpu; private final java.lang.Number ephemeralStorageGiB; private final java.lang.Number memoryLimitMiB; private final software.amazon.awscdk.services.ecs.FargatePlatformVersion platformVersion; private final software.amazon.awscdk.services.ecs.RuntimePlatform runtimePlatform; private final software.amazon.awscdk.services.ecs.FargateTaskDefinition taskDefinition; /** * 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.accessLogBucket = software.amazon.jsii.Kernel.get(this, "accessLogBucket", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.s3.IBucket.class)); this.accessLogPrefix = software.amazon.jsii.Kernel.get(this, "accessLogPrefix", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.apiCanarySchedule = software.amazon.jsii.Kernel.get(this, "apiCanarySchedule", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.apiCanaryThreadCount = software.amazon.jsii.Kernel.get(this, "apiCanaryThreadCount", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.apiCanaryTimeout = software.amazon.jsii.Kernel.get(this, "apiCanaryTimeout", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.apiTestSteps = software.amazon.jsii.Kernel.get(this, "apiTestSteps", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdk.ecs.codedeploy.ApiTestStep.class))); this.applicationName = software.amazon.jsii.Kernel.get(this, "applicationName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.deploymentConfig = software.amazon.jsii.Kernel.get(this, "deploymentConfig", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.codedeploy.IEcsDeploymentConfig.class)); this.deploymentGroupName = software.amazon.jsii.Kernel.get(this, "deploymentGroupName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.deploymentTimeout = software.amazon.jsii.Kernel.get(this, "deploymentTimeout", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.deregistrationDelay = software.amazon.jsii.Kernel.get(this, "deregistrationDelay", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.hooks = software.amazon.jsii.Kernel.get(this, "hooks", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdk.ecs.codedeploy.AppSpecHooks.class)); this.responseTimeAlarmThreshold = software.amazon.jsii.Kernel.get(this, "responseTimeAlarmThreshold", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.targetHealthCheck = software.amazon.jsii.Kernel.get(this, "targetHealthCheck", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.elasticloadbalancingv2.HealthCheck.class)); this.terminationWaitTime = software.amazon.jsii.Kernel.get(this, "terminationWaitTime", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.testPort = software.amazon.jsii.Kernel.get(this, "testPort", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.assignPublicIp = software.amazon.jsii.Kernel.get(this, "assignPublicIp", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.healthCheck = software.amazon.jsii.Kernel.get(this, "healthCheck", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.HealthCheck.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.taskSubnets = software.amazon.jsii.Kernel.get(this, "taskSubnets", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.SubnetSelection.class)); this.capacityProviderStrategies = software.amazon.jsii.Kernel.get(this, "capacityProviderStrategies", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.CapacityProviderStrategy.class))); this.certificate = software.amazon.jsii.Kernel.get(this, "certificate", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.certificatemanager.ICertificate.class)); this.circuitBreaker = software.amazon.jsii.Kernel.get(this, "circuitBreaker", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.DeploymentCircuitBreaker.class)); this.cloudMapOptions = software.amazon.jsii.Kernel.get(this, "cloudMapOptions", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.CloudMapOptions.class)); this.cluster = software.amazon.jsii.Kernel.get(this, "cluster", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.ICluster.class)); this.deploymentController = software.amazon.jsii.Kernel.get(this, "deploymentController", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.DeploymentController.class)); this.desiredCount = software.amazon.jsii.Kernel.get(this, "desiredCount", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.domainName = software.amazon.jsii.Kernel.get(this, "domainName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.domainZone = software.amazon.jsii.Kernel.get(this, "domainZone", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.route53.IHostedZone.class)); this.enableEcsManagedTags = software.amazon.jsii.Kernel.get(this, "enableECSManagedTags", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.enableExecuteCommand = software.amazon.jsii.Kernel.get(this, "enableExecuteCommand", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.healthCheckGracePeriod = software.amazon.jsii.Kernel.get(this, "healthCheckGracePeriod", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.idleTimeout = software.amazon.jsii.Kernel.get(this, "idleTimeout", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.listenerPort = software.amazon.jsii.Kernel.get(this, "listenerPort", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.loadBalancer = software.amazon.jsii.Kernel.get(this, "loadBalancer", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.elasticloadbalancingv2.IApplicationLoadBalancer.class)); this.loadBalancerName = software.amazon.jsii.Kernel.get(this, "loadBalancerName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.maxHealthyPercent = software.amazon.jsii.Kernel.get(this, "maxHealthyPercent", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.minHealthyPercent = software.amazon.jsii.Kernel.get(this, "minHealthyPercent", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.openListener = software.amazon.jsii.Kernel.get(this, "openListener", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.propagateTags = software.amazon.jsii.Kernel.get(this, "propagateTags", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.PropagatedTagSource.class)); this.protocol = software.amazon.jsii.Kernel.get(this, "protocol", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocol.class)); this.protocolVersion = software.amazon.jsii.Kernel.get(this, "protocolVersion", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocolVersion.class)); this.publicLoadBalancer = software.amazon.jsii.Kernel.get(this, "publicLoadBalancer", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.recordType = software.amazon.jsii.Kernel.get(this, "recordType", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.patterns.ApplicationLoadBalancedServiceRecordType.class)); this.redirectHttp = software.amazon.jsii.Kernel.get(this, "redirectHTTP", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.serviceName = software.amazon.jsii.Kernel.get(this, "serviceName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.sslPolicy = software.amazon.jsii.Kernel.get(this, "sslPolicy", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.elasticloadbalancingv2.SslPolicy.class)); this.targetProtocol = software.amazon.jsii.Kernel.get(this, "targetProtocol", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocol.class)); this.taskImageOptions = software.amazon.jsii.Kernel.get(this, "taskImageOptions", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.patterns.ApplicationLoadBalancedTaskImageOptions.class)); this.vpc = software.amazon.jsii.Kernel.get(this, "vpc", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.IVpc.class)); this.cpu = software.amazon.jsii.Kernel.get(this, "cpu", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.ephemeralStorageGiB = software.amazon.jsii.Kernel.get(this, "ephemeralStorageGiB", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.memoryLimitMiB = software.amazon.jsii.Kernel.get(this, "memoryLimitMiB", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.platformVersion = software.amazon.jsii.Kernel.get(this, "platformVersion", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.FargatePlatformVersion.class)); this.runtimePlatform = software.amazon.jsii.Kernel.get(this, "runtimePlatform", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.RuntimePlatform.class)); this.taskDefinition = software.amazon.jsii.Kernel.get(this, "taskDefinition", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.FargateTaskDefinition.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.accessLogBucket = builder.accessLogBucket; this.accessLogPrefix = builder.accessLogPrefix; this.apiCanarySchedule = builder.apiCanarySchedule; this.apiCanaryThreadCount = builder.apiCanaryThreadCount; this.apiCanaryTimeout = builder.apiCanaryTimeout; this.apiTestSteps = (java.util.List)builder.apiTestSteps; this.applicationName = builder.applicationName; this.deploymentConfig = builder.deploymentConfig; this.deploymentGroupName = builder.deploymentGroupName; this.deploymentTimeout = builder.deploymentTimeout; this.deregistrationDelay = builder.deregistrationDelay; this.hooks = builder.hooks; this.responseTimeAlarmThreshold = builder.responseTimeAlarmThreshold; this.targetHealthCheck = builder.targetHealthCheck; this.terminationWaitTime = builder.terminationWaitTime; this.testPort = builder.testPort; this.assignPublicIp = builder.assignPublicIp; this.healthCheck = builder.healthCheck; this.securityGroups = (java.util.List)builder.securityGroups; this.taskSubnets = builder.taskSubnets; this.capacityProviderStrategies = (java.util.List)builder.capacityProviderStrategies; this.certificate = builder.certificate; this.circuitBreaker = builder.circuitBreaker; this.cloudMapOptions = builder.cloudMapOptions; this.cluster = builder.cluster; this.deploymentController = builder.deploymentController; this.desiredCount = builder.desiredCount; this.domainName = builder.domainName; this.domainZone = builder.domainZone; this.enableEcsManagedTags = builder.enableEcsManagedTags; this.enableExecuteCommand = builder.enableExecuteCommand; this.healthCheckGracePeriod = builder.healthCheckGracePeriod; this.idleTimeout = builder.idleTimeout; this.listenerPort = builder.listenerPort; this.loadBalancer = builder.loadBalancer; this.loadBalancerName = builder.loadBalancerName; this.maxHealthyPercent = builder.maxHealthyPercent; this.minHealthyPercent = builder.minHealthyPercent; this.openListener = builder.openListener; this.propagateTags = builder.propagateTags; this.protocol = builder.protocol; this.protocolVersion = builder.protocolVersion; this.publicLoadBalancer = builder.publicLoadBalancer; this.recordType = builder.recordType; this.redirectHttp = builder.redirectHttp; this.serviceName = builder.serviceName; this.sslPolicy = builder.sslPolicy; this.targetProtocol = builder.targetProtocol; this.taskImageOptions = builder.taskImageOptions; this.vpc = builder.vpc; this.cpu = builder.cpu; this.ephemeralStorageGiB = builder.ephemeralStorageGiB; this.memoryLimitMiB = builder.memoryLimitMiB; this.platformVersion = builder.platformVersion; this.runtimePlatform = builder.runtimePlatform; this.taskDefinition = builder.taskDefinition; } @Override public final software.amazon.awscdk.services.s3.IBucket getAccessLogBucket() { return this.accessLogBucket; } @Override public final java.lang.String getAccessLogPrefix() { return this.accessLogPrefix; } @Override public final software.amazon.awscdk.Duration getApiCanarySchedule() { return this.apiCanarySchedule; } @Override public final java.lang.Number getApiCanaryThreadCount() { return this.apiCanaryThreadCount; } @Override public final software.amazon.awscdk.Duration getApiCanaryTimeout() { return this.apiCanaryTimeout; } @Override public final java.util.List getApiTestSteps() { return this.apiTestSteps; } @Override public final java.lang.String getApplicationName() { return this.applicationName; } @Override public final software.amazon.awscdk.services.codedeploy.IEcsDeploymentConfig getDeploymentConfig() { return this.deploymentConfig; } @Override public final java.lang.String getDeploymentGroupName() { return this.deploymentGroupName; } @Override public final software.amazon.awscdk.Duration getDeploymentTimeout() { return this.deploymentTimeout; } @Override public final software.amazon.awscdk.Duration getDeregistrationDelay() { return this.deregistrationDelay; } @Override public final io.github.cdklabs.cdk.ecs.codedeploy.AppSpecHooks getHooks() { return this.hooks; } @Override public final software.amazon.awscdk.Duration getResponseTimeAlarmThreshold() { return this.responseTimeAlarmThreshold; } @Override public final software.amazon.awscdk.services.elasticloadbalancingv2.HealthCheck getTargetHealthCheck() { return this.targetHealthCheck; } @Override public final software.amazon.awscdk.Duration getTerminationWaitTime() { return this.terminationWaitTime; } @Override public final java.lang.Number getTestPort() { return this.testPort; } @Override public final java.lang.Boolean getAssignPublicIp() { return this.assignPublicIp; } @Override public final software.amazon.awscdk.services.ecs.HealthCheck getHealthCheck() { return this.healthCheck; } @Override public final java.util.List getSecurityGroups() { return this.securityGroups; } @Override public final software.amazon.awscdk.services.ec2.SubnetSelection getTaskSubnets() { return this.taskSubnets; } @Override public final java.util.List getCapacityProviderStrategies() { return this.capacityProviderStrategies; } @Override public final software.amazon.awscdk.services.certificatemanager.ICertificate getCertificate() { return this.certificate; } @Override public final software.amazon.awscdk.services.ecs.DeploymentCircuitBreaker getCircuitBreaker() { return this.circuitBreaker; } @Override public final software.amazon.awscdk.services.ecs.CloudMapOptions getCloudMapOptions() { return this.cloudMapOptions; } @Override public final software.amazon.awscdk.services.ecs.ICluster getCluster() { return this.cluster; } @Override public final software.amazon.awscdk.services.ecs.DeploymentController getDeploymentController() { return this.deploymentController; } @Override public final java.lang.Number getDesiredCount() { return this.desiredCount; } @Override public final java.lang.String getDomainName() { return this.domainName; } @Override public final software.amazon.awscdk.services.route53.IHostedZone getDomainZone() { return this.domainZone; } @Override public final java.lang.Boolean getEnableECSManagedTags() { return this.enableEcsManagedTags; } @Override public final java.lang.Boolean getEnableExecuteCommand() { return this.enableExecuteCommand; } @Override public final software.amazon.awscdk.Duration getHealthCheckGracePeriod() { return this.healthCheckGracePeriod; } @Override public final software.amazon.awscdk.Duration getIdleTimeout() { return this.idleTimeout; } @Override public final java.lang.Number getListenerPort() { return this.listenerPort; } @Override public final software.amazon.awscdk.services.elasticloadbalancingv2.IApplicationLoadBalancer getLoadBalancer() { return this.loadBalancer; } @Override public final java.lang.String getLoadBalancerName() { return this.loadBalancerName; } @Override public final java.lang.Number getMaxHealthyPercent() { return this.maxHealthyPercent; } @Override public final java.lang.Number getMinHealthyPercent() { return this.minHealthyPercent; } @Override public final java.lang.Boolean getOpenListener() { return this.openListener; } @Override public final software.amazon.awscdk.services.ecs.PropagatedTagSource getPropagateTags() { return this.propagateTags; } @Override public final software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocol getProtocol() { return this.protocol; } @Override public final software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocolVersion getProtocolVersion() { return this.protocolVersion; } @Override public final java.lang.Boolean getPublicLoadBalancer() { return this.publicLoadBalancer; } @Override public final software.amazon.awscdk.services.ecs.patterns.ApplicationLoadBalancedServiceRecordType getRecordType() { return this.recordType; } @Override public final java.lang.Boolean getRedirectHTTP() { return this.redirectHttp; } @Override public final java.lang.String getServiceName() { return this.serviceName; } @Override public final software.amazon.awscdk.services.elasticloadbalancingv2.SslPolicy getSslPolicy() { return this.sslPolicy; } @Override public final software.amazon.awscdk.services.elasticloadbalancingv2.ApplicationProtocol getTargetProtocol() { return this.targetProtocol; } @Override public final software.amazon.awscdk.services.ecs.patterns.ApplicationLoadBalancedTaskImageOptions getTaskImageOptions() { return this.taskImageOptions; } @Override public final software.amazon.awscdk.services.ec2.IVpc getVpc() { return this.vpc; } @Override public final java.lang.Number getCpu() { return this.cpu; } @Override public final java.lang.Number getEphemeralStorageGiB() { return this.ephemeralStorageGiB; } @Override public final java.lang.Number getMemoryLimitMiB() { return this.memoryLimitMiB; } @Override public final software.amazon.awscdk.services.ecs.FargatePlatformVersion getPlatformVersion() { return this.platformVersion; } @Override public final software.amazon.awscdk.services.ecs.RuntimePlatform getRuntimePlatform() { return this.runtimePlatform; } @Override public final software.amazon.awscdk.services.ecs.FargateTaskDefinition getTaskDefinition() { return this.taskDefinition; } @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(); if (this.getAccessLogBucket() != null) { data.set("accessLogBucket", om.valueToTree(this.getAccessLogBucket())); } if (this.getAccessLogPrefix() != null) { data.set("accessLogPrefix", om.valueToTree(this.getAccessLogPrefix())); } if (this.getApiCanarySchedule() != null) { data.set("apiCanarySchedule", om.valueToTree(this.getApiCanarySchedule())); } if (this.getApiCanaryThreadCount() != null) { data.set("apiCanaryThreadCount", om.valueToTree(this.getApiCanaryThreadCount())); } if (this.getApiCanaryTimeout() != null) { data.set("apiCanaryTimeout", om.valueToTree(this.getApiCanaryTimeout())); } if (this.getApiTestSteps() != null) { data.set("apiTestSteps", om.valueToTree(this.getApiTestSteps())); } if (this.getApplicationName() != null) { data.set("applicationName", om.valueToTree(this.getApplicationName())); } if (this.getDeploymentConfig() != null) { data.set("deploymentConfig", om.valueToTree(this.getDeploymentConfig())); } if (this.getDeploymentGroupName() != null) { data.set("deploymentGroupName", om.valueToTree(this.getDeploymentGroupName())); } if (this.getDeploymentTimeout() != null) { data.set("deploymentTimeout", om.valueToTree(this.getDeploymentTimeout())); } if (this.getDeregistrationDelay() != null) { data.set("deregistrationDelay", om.valueToTree(this.getDeregistrationDelay())); } if (this.getHooks() != null) { data.set("hooks", om.valueToTree(this.getHooks())); } if (this.getResponseTimeAlarmThreshold() != null) { data.set("responseTimeAlarmThreshold", om.valueToTree(this.getResponseTimeAlarmThreshold())); } if (this.getTargetHealthCheck() != null) { data.set("targetHealthCheck", om.valueToTree(this.getTargetHealthCheck())); } if (this.getTerminationWaitTime() != null) { data.set("terminationWaitTime", om.valueToTree(this.getTerminationWaitTime())); } if (this.getTestPort() != null) { data.set("testPort", om.valueToTree(this.getTestPort())); } if (this.getAssignPublicIp() != null) { data.set("assignPublicIp", om.valueToTree(this.getAssignPublicIp())); } if (this.getHealthCheck() != null) { data.set("healthCheck", om.valueToTree(this.getHealthCheck())); } if (this.getSecurityGroups() != null) { data.set("securityGroups", om.valueToTree(this.getSecurityGroups())); } if (this.getTaskSubnets() != null) { data.set("taskSubnets", om.valueToTree(this.getTaskSubnets())); } if (this.getCapacityProviderStrategies() != null) { data.set("capacityProviderStrategies", om.valueToTree(this.getCapacityProviderStrategies())); } if (this.getCertificate() != null) { data.set("certificate", om.valueToTree(this.getCertificate())); } if (this.getCircuitBreaker() != null) { data.set("circuitBreaker", om.valueToTree(this.getCircuitBreaker())); } if (this.getCloudMapOptions() != null) { data.set("cloudMapOptions", om.valueToTree(this.getCloudMapOptions())); } if (this.getCluster() != null) { data.set("cluster", om.valueToTree(this.getCluster())); } if (this.getDeploymentController() != null) { data.set("deploymentController", om.valueToTree(this.getDeploymentController())); } if (this.getDesiredCount() != null) { data.set("desiredCount", om.valueToTree(this.getDesiredCount())); } if (this.getDomainName() != null) { data.set("domainName", om.valueToTree(this.getDomainName())); } if (this.getDomainZone() != null) { data.set("domainZone", om.valueToTree(this.getDomainZone())); } if (this.getEnableECSManagedTags() != null) { data.set("enableECSManagedTags", om.valueToTree(this.getEnableECSManagedTags())); } if (this.getEnableExecuteCommand() != null) { data.set("enableExecuteCommand", om.valueToTree(this.getEnableExecuteCommand())); } if (this.getHealthCheckGracePeriod() != null) { data.set("healthCheckGracePeriod", om.valueToTree(this.getHealthCheckGracePeriod())); } if (this.getIdleTimeout() != null) { data.set("idleTimeout", om.valueToTree(this.getIdleTimeout())); } if (this.getListenerPort() != null) { data.set("listenerPort", om.valueToTree(this.getListenerPort())); } if (this.getLoadBalancer() != null) { data.set("loadBalancer", om.valueToTree(this.getLoadBalancer())); } if (this.getLoadBalancerName() != null) { data.set("loadBalancerName", om.valueToTree(this.getLoadBalancerName())); } if (this.getMaxHealthyPercent() != null) { data.set("maxHealthyPercent", om.valueToTree(this.getMaxHealthyPercent())); } if (this.getMinHealthyPercent() != null) { data.set("minHealthyPercent", om.valueToTree(this.getMinHealthyPercent())); } if (this.getOpenListener() != null) { data.set("openListener", om.valueToTree(this.getOpenListener())); } if (this.getPropagateTags() != null) { data.set("propagateTags", om.valueToTree(this.getPropagateTags())); } if (this.getProtocol() != null) { data.set("protocol", om.valueToTree(this.getProtocol())); } if (this.getProtocolVersion() != null) { data.set("protocolVersion", om.valueToTree(this.getProtocolVersion())); } if (this.getPublicLoadBalancer() != null) { data.set("publicLoadBalancer", om.valueToTree(this.getPublicLoadBalancer())); } if (this.getRecordType() != null) { data.set("recordType", om.valueToTree(this.getRecordType())); } if (this.getRedirectHTTP() != null) { data.set("redirectHTTP", om.valueToTree(this.getRedirectHTTP())); } if (this.getServiceName() != null) { data.set("serviceName", om.valueToTree(this.getServiceName())); } if (this.getSslPolicy() != null) { data.set("sslPolicy", om.valueToTree(this.getSslPolicy())); } if (this.getTargetProtocol() != null) { data.set("targetProtocol", om.valueToTree(this.getTargetProtocol())); } if (this.getTaskImageOptions() != null) { data.set("taskImageOptions", om.valueToTree(this.getTaskImageOptions())); } if (this.getVpc() != null) { data.set("vpc", om.valueToTree(this.getVpc())); } if (this.getCpu() != null) { data.set("cpu", om.valueToTree(this.getCpu())); } if (this.getEphemeralStorageGiB() != null) { data.set("ephemeralStorageGiB", om.valueToTree(this.getEphemeralStorageGiB())); } if (this.getMemoryLimitMiB() != null) { data.set("memoryLimitMiB", om.valueToTree(this.getMemoryLimitMiB())); } if (this.getPlatformVersion() != null) { data.set("platformVersion", om.valueToTree(this.getPlatformVersion())); } if (this.getRuntimePlatform() != null) { data.set("runtimePlatform", om.valueToTree(this.getRuntimePlatform())); } if (this.getTaskDefinition() != null) { data.set("taskDefinition", om.valueToTree(this.getTaskDefinition())); } 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.ApplicationLoadBalancedCodeDeployedFargateServiceProps")); 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; ApplicationLoadBalancedCodeDeployedFargateServiceProps.Jsii$Proxy that = (ApplicationLoadBalancedCodeDeployedFargateServiceProps.Jsii$Proxy) o; if (this.accessLogBucket != null ? !this.accessLogBucket.equals(that.accessLogBucket) : that.accessLogBucket != null) return false; if (this.accessLogPrefix != null ? !this.accessLogPrefix.equals(that.accessLogPrefix) : that.accessLogPrefix != null) return false; if (this.apiCanarySchedule != null ? !this.apiCanarySchedule.equals(that.apiCanarySchedule) : that.apiCanarySchedule != null) return false; if (this.apiCanaryThreadCount != null ? !this.apiCanaryThreadCount.equals(that.apiCanaryThreadCount) : that.apiCanaryThreadCount != null) return false; if (this.apiCanaryTimeout != null ? !this.apiCanaryTimeout.equals(that.apiCanaryTimeout) : that.apiCanaryTimeout != null) return false; if (this.apiTestSteps != null ? !this.apiTestSteps.equals(that.apiTestSteps) : that.apiTestSteps != null) return false; if (this.applicationName != null ? !this.applicationName.equals(that.applicationName) : that.applicationName != null) return false; if (this.deploymentConfig != null ? !this.deploymentConfig.equals(that.deploymentConfig) : that.deploymentConfig != null) return false; if (this.deploymentGroupName != null ? !this.deploymentGroupName.equals(that.deploymentGroupName) : that.deploymentGroupName != null) return false; if (this.deploymentTimeout != null ? !this.deploymentTimeout.equals(that.deploymentTimeout) : that.deploymentTimeout != null) return false; if (this.deregistrationDelay != null ? !this.deregistrationDelay.equals(that.deregistrationDelay) : that.deregistrationDelay != null) return false; if (this.hooks != null ? !this.hooks.equals(that.hooks) : that.hooks != null) return false; if (this.responseTimeAlarmThreshold != null ? !this.responseTimeAlarmThreshold.equals(that.responseTimeAlarmThreshold) : that.responseTimeAlarmThreshold != null) return false; if (this.targetHealthCheck != null ? !this.targetHealthCheck.equals(that.targetHealthCheck) : that.targetHealthCheck != null) return false; if (this.terminationWaitTime != null ? !this.terminationWaitTime.equals(that.terminationWaitTime) : that.terminationWaitTime != null) return false; if (this.testPort != null ? !this.testPort.equals(that.testPort) : that.testPort != null) return false; if (this.assignPublicIp != null ? !this.assignPublicIp.equals(that.assignPublicIp) : that.assignPublicIp != null) return false; if (this.healthCheck != null ? !this.healthCheck.equals(that.healthCheck) : that.healthCheck != null) return false; if (this.securityGroups != null ? !this.securityGroups.equals(that.securityGroups) : that.securityGroups != null) return false; if (this.taskSubnets != null ? !this.taskSubnets.equals(that.taskSubnets) : that.taskSubnets != null) return false; if (this.capacityProviderStrategies != null ? !this.capacityProviderStrategies.equals(that.capacityProviderStrategies) : that.capacityProviderStrategies != null) return false; if (this.certificate != null ? !this.certificate.equals(that.certificate) : that.certificate != null) return false; if (this.circuitBreaker != null ? !this.circuitBreaker.equals(that.circuitBreaker) : that.circuitBreaker != null) return false; if (this.cloudMapOptions != null ? !this.cloudMapOptions.equals(that.cloudMapOptions) : that.cloudMapOptions != null) return false; if (this.cluster != null ? !this.cluster.equals(that.cluster) : that.cluster != null) return false; if (this.deploymentController != null ? !this.deploymentController.equals(that.deploymentController) : that.deploymentController != null) return false; if (this.desiredCount != null ? !this.desiredCount.equals(that.desiredCount) : that.desiredCount != null) return false; if (this.domainName != null ? !this.domainName.equals(that.domainName) : that.domainName != null) return false; if (this.domainZone != null ? !this.domainZone.equals(that.domainZone) : that.domainZone != null) return false; if (this.enableEcsManagedTags != null ? !this.enableEcsManagedTags.equals(that.enableEcsManagedTags) : that.enableEcsManagedTags != null) return false; if (this.enableExecuteCommand != null ? !this.enableExecuteCommand.equals(that.enableExecuteCommand) : that.enableExecuteCommand != null) return false; if (this.healthCheckGracePeriod != null ? !this.healthCheckGracePeriod.equals(that.healthCheckGracePeriod) : that.healthCheckGracePeriod != null) return false; if (this.idleTimeout != null ? !this.idleTimeout.equals(that.idleTimeout) : that.idleTimeout != null) return false; if (this.listenerPort != null ? !this.listenerPort.equals(that.listenerPort) : that.listenerPort != null) return false; if (this.loadBalancer != null ? !this.loadBalancer.equals(that.loadBalancer) : that.loadBalancer != null) return false; if (this.loadBalancerName != null ? !this.loadBalancerName.equals(that.loadBalancerName) : that.loadBalancerName != null) return false; if (this.maxHealthyPercent != null ? !this.maxHealthyPercent.equals(that.maxHealthyPercent) : that.maxHealthyPercent != null) return false; if (this.minHealthyPercent != null ? !this.minHealthyPercent.equals(that.minHealthyPercent) : that.minHealthyPercent != null) return false; if (this.openListener != null ? !this.openListener.equals(that.openListener) : that.openListener != null) return false; if (this.propagateTags != null ? !this.propagateTags.equals(that.propagateTags) : that.propagateTags != null) return false; if (this.protocol != null ? !this.protocol.equals(that.protocol) : that.protocol != null) return false; if (this.protocolVersion != null ? !this.protocolVersion.equals(that.protocolVersion) : that.protocolVersion != null) return false; if (this.publicLoadBalancer != null ? !this.publicLoadBalancer.equals(that.publicLoadBalancer) : that.publicLoadBalancer != null) return false; if (this.recordType != null ? !this.recordType.equals(that.recordType) : that.recordType != null) return false; if (this.redirectHttp != null ? !this.redirectHttp.equals(that.redirectHttp) : that.redirectHttp != null) return false; if (this.serviceName != null ? !this.serviceName.equals(that.serviceName) : that.serviceName != null) return false; if (this.sslPolicy != null ? !this.sslPolicy.equals(that.sslPolicy) : that.sslPolicy != null) return false; if (this.targetProtocol != null ? !this.targetProtocol.equals(that.targetProtocol) : that.targetProtocol != null) return false; if (this.taskImageOptions != null ? !this.taskImageOptions.equals(that.taskImageOptions) : that.taskImageOptions != null) return false; if (this.vpc != null ? !this.vpc.equals(that.vpc) : that.vpc != null) return false; if (this.cpu != null ? !this.cpu.equals(that.cpu) : that.cpu != null) return false; if (this.ephemeralStorageGiB != null ? !this.ephemeralStorageGiB.equals(that.ephemeralStorageGiB) : that.ephemeralStorageGiB != null) return false; if (this.memoryLimitMiB != null ? !this.memoryLimitMiB.equals(that.memoryLimitMiB) : that.memoryLimitMiB != null) return false; if (this.platformVersion != null ? !this.platformVersion.equals(that.platformVersion) : that.platformVersion != null) return false; if (this.runtimePlatform != null ? !this.runtimePlatform.equals(that.runtimePlatform) : that.runtimePlatform != null) return false; return this.taskDefinition != null ? this.taskDefinition.equals(that.taskDefinition) : that.taskDefinition == null; } @Override public final int hashCode() { int result = this.accessLogBucket != null ? this.accessLogBucket.hashCode() : 0; result = 31 * result + (this.accessLogPrefix != null ? this.accessLogPrefix.hashCode() : 0); result = 31 * result + (this.apiCanarySchedule != null ? this.apiCanarySchedule.hashCode() : 0); result = 31 * result + (this.apiCanaryThreadCount != null ? this.apiCanaryThreadCount.hashCode() : 0); result = 31 * result + (this.apiCanaryTimeout != null ? this.apiCanaryTimeout.hashCode() : 0); result = 31 * result + (this.apiTestSteps != null ? this.apiTestSteps.hashCode() : 0); result = 31 * result + (this.applicationName != null ? this.applicationName.hashCode() : 0); result = 31 * result + (this.deploymentConfig != null ? this.deploymentConfig.hashCode() : 0); result = 31 * result + (this.deploymentGroupName != null ? this.deploymentGroupName.hashCode() : 0); result = 31 * result + (this.deploymentTimeout != null ? this.deploymentTimeout.hashCode() : 0); result = 31 * result + (this.deregistrationDelay != null ? this.deregistrationDelay.hashCode() : 0); result = 31 * result + (this.hooks != null ? this.hooks.hashCode() : 0); result = 31 * result + (this.responseTimeAlarmThreshold != null ? this.responseTimeAlarmThreshold.hashCode() : 0); result = 31 * result + (this.targetHealthCheck != null ? this.targetHealthCheck.hashCode() : 0); result = 31 * result + (this.terminationWaitTime != null ? this.terminationWaitTime.hashCode() : 0); result = 31 * result + (this.testPort != null ? this.testPort.hashCode() : 0); result = 31 * result + (this.assignPublicIp != null ? this.assignPublicIp.hashCode() : 0); result = 31 * result + (this.healthCheck != null ? this.healthCheck.hashCode() : 0); result = 31 * result + (this.securityGroups != null ? this.securityGroups.hashCode() : 0); result = 31 * result + (this.taskSubnets != null ? this.taskSubnets.hashCode() : 0); result = 31 * result + (this.capacityProviderStrategies != null ? this.capacityProviderStrategies.hashCode() : 0); result = 31 * result + (this.certificate != null ? this.certificate.hashCode() : 0); result = 31 * result + (this.circuitBreaker != null ? this.circuitBreaker.hashCode() : 0); result = 31 * result + (this.cloudMapOptions != null ? this.cloudMapOptions.hashCode() : 0); result = 31 * result + (this.cluster != null ? this.cluster.hashCode() : 0); result = 31 * result + (this.deploymentController != null ? this.deploymentController.hashCode() : 0); result = 31 * result + (this.desiredCount != null ? this.desiredCount.hashCode() : 0); result = 31 * result + (this.domainName != null ? this.domainName.hashCode() : 0); result = 31 * result + (this.domainZone != null ? this.domainZone.hashCode() : 0); result = 31 * result + (this.enableEcsManagedTags != null ? this.enableEcsManagedTags.hashCode() : 0); result = 31 * result + (this.enableExecuteCommand != null ? this.enableExecuteCommand.hashCode() : 0); result = 31 * result + (this.healthCheckGracePeriod != null ? this.healthCheckGracePeriod.hashCode() : 0); result = 31 * result + (this.idleTimeout != null ? this.idleTimeout.hashCode() : 0); result = 31 * result + (this.listenerPort != null ? this.listenerPort.hashCode() : 0); result = 31 * result + (this.loadBalancer != null ? this.loadBalancer.hashCode() : 0); result = 31 * result + (this.loadBalancerName != null ? this.loadBalancerName.hashCode() : 0); result = 31 * result + (this.maxHealthyPercent != null ? this.maxHealthyPercent.hashCode() : 0); result = 31 * result + (this.minHealthyPercent != null ? this.minHealthyPercent.hashCode() : 0); result = 31 * result + (this.openListener != null ? this.openListener.hashCode() : 0); result = 31 * result + (this.propagateTags != null ? this.propagateTags.hashCode() : 0); result = 31 * result + (this.protocol != null ? this.protocol.hashCode() : 0); result = 31 * result + (this.protocolVersion != null ? this.protocolVersion.hashCode() : 0); result = 31 * result + (this.publicLoadBalancer != null ? this.publicLoadBalancer.hashCode() : 0); result = 31 * result + (this.recordType != null ? this.recordType.hashCode() : 0); result = 31 * result + (this.redirectHttp != null ? this.redirectHttp.hashCode() : 0); result = 31 * result + (this.serviceName != null ? this.serviceName.hashCode() : 0); result = 31 * result + (this.sslPolicy != null ? this.sslPolicy.hashCode() : 0); result = 31 * result + (this.targetProtocol != null ? this.targetProtocol.hashCode() : 0); result = 31 * result + (this.taskImageOptions != null ? this.taskImageOptions.hashCode() : 0); result = 31 * result + (this.vpc != null ? this.vpc.hashCode() : 0); result = 31 * result + (this.cpu != null ? this.cpu.hashCode() : 0); result = 31 * result + (this.ephemeralStorageGiB != null ? this.ephemeralStorageGiB.hashCode() : 0); result = 31 * result + (this.memoryLimitMiB != null ? this.memoryLimitMiB.hashCode() : 0); result = 31 * result + (this.platformVersion != null ? this.platformVersion.hashCode() : 0); result = 31 * result + (this.runtimePlatform != null ? this.runtimePlatform.hashCode() : 0); result = 31 * result + (this.taskDefinition != null ? this.taskDefinition.hashCode() : 0); return result; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy