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

software.amazon.awssdk.services.elasticloadbalancingv2.model.ModifyTargetGroupRequest Maven / Gradle / Ivy

/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.elasticloadbalancingv2.model;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 */
@Generated("software.amazon.awssdk:codegen")
public final class ModifyTargetGroupRequest extends ElasticLoadBalancingV2Request implements
        ToCopyableBuilder {
    private static final SdkField TARGET_GROUP_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("TargetGroupArn").getter(getter(ModifyTargetGroupRequest::targetGroupArn))
            .setter(setter(Builder::targetGroupArn))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TargetGroupArn").build()).build();

    private static final SdkField HEALTH_CHECK_PROTOCOL_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("HealthCheckProtocol").getter(getter(ModifyTargetGroupRequest::healthCheckProtocolAsString))
            .setter(setter(Builder::healthCheckProtocol))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("HealthCheckProtocol").build())
            .build();

    private static final SdkField HEALTH_CHECK_PORT_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("HealthCheckPort").getter(getter(ModifyTargetGroupRequest::healthCheckPort))
            .setter(setter(Builder::healthCheckPort))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("HealthCheckPort").build()).build();

    private static final SdkField HEALTH_CHECK_PATH_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("HealthCheckPath").getter(getter(ModifyTargetGroupRequest::healthCheckPath))
            .setter(setter(Builder::healthCheckPath))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("HealthCheckPath").build()).build();

    private static final SdkField HEALTH_CHECK_ENABLED_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
            .memberName("HealthCheckEnabled").getter(getter(ModifyTargetGroupRequest::healthCheckEnabled))
            .setter(setter(Builder::healthCheckEnabled))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("HealthCheckEnabled").build())
            .build();

    private static final SdkField HEALTH_CHECK_INTERVAL_SECONDS_FIELD = SdkField
            . builder(MarshallingType.INTEGER)
            .memberName("HealthCheckIntervalSeconds")
            .getter(getter(ModifyTargetGroupRequest::healthCheckIntervalSeconds))
            .setter(setter(Builder::healthCheckIntervalSeconds))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("HealthCheckIntervalSeconds").build())
            .build();

    private static final SdkField HEALTH_CHECK_TIMEOUT_SECONDS_FIELD = SdkField
            . builder(MarshallingType.INTEGER).memberName("HealthCheckTimeoutSeconds")
            .getter(getter(ModifyTargetGroupRequest::healthCheckTimeoutSeconds))
            .setter(setter(Builder::healthCheckTimeoutSeconds))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("HealthCheckTimeoutSeconds").build())
            .build();

    private static final SdkField HEALTHY_THRESHOLD_COUNT_FIELD = SdkField. builder(MarshallingType.INTEGER)
            .memberName("HealthyThresholdCount").getter(getter(ModifyTargetGroupRequest::healthyThresholdCount))
            .setter(setter(Builder::healthyThresholdCount))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("HealthyThresholdCount").build())
            .build();

    private static final SdkField UNHEALTHY_THRESHOLD_COUNT_FIELD = SdkField. builder(MarshallingType.INTEGER)
            .memberName("UnhealthyThresholdCount").getter(getter(ModifyTargetGroupRequest::unhealthyThresholdCount))
            .setter(setter(Builder::unhealthyThresholdCount))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("UnhealthyThresholdCount").build())
            .build();

    private static final SdkField MATCHER_FIELD = SdkField. builder(MarshallingType.SDK_POJO)
            .memberName("Matcher").getter(getter(ModifyTargetGroupRequest::matcher)).setter(setter(Builder::matcher))
            .constructor(Matcher::builder)
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Matcher").build()).build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(TARGET_GROUP_ARN_FIELD,
            HEALTH_CHECK_PROTOCOL_FIELD, HEALTH_CHECK_PORT_FIELD, HEALTH_CHECK_PATH_FIELD, HEALTH_CHECK_ENABLED_FIELD,
            HEALTH_CHECK_INTERVAL_SECONDS_FIELD, HEALTH_CHECK_TIMEOUT_SECONDS_FIELD, HEALTHY_THRESHOLD_COUNT_FIELD,
            UNHEALTHY_THRESHOLD_COUNT_FIELD, MATCHER_FIELD));

    private final String targetGroupArn;

    private final String healthCheckProtocol;

    private final String healthCheckPort;

    private final String healthCheckPath;

    private final Boolean healthCheckEnabled;

    private final Integer healthCheckIntervalSeconds;

    private final Integer healthCheckTimeoutSeconds;

    private final Integer healthyThresholdCount;

    private final Integer unhealthyThresholdCount;

    private final Matcher matcher;

    private ModifyTargetGroupRequest(BuilderImpl builder) {
        super(builder);
        this.targetGroupArn = builder.targetGroupArn;
        this.healthCheckProtocol = builder.healthCheckProtocol;
        this.healthCheckPort = builder.healthCheckPort;
        this.healthCheckPath = builder.healthCheckPath;
        this.healthCheckEnabled = builder.healthCheckEnabled;
        this.healthCheckIntervalSeconds = builder.healthCheckIntervalSeconds;
        this.healthCheckTimeoutSeconds = builder.healthCheckTimeoutSeconds;
        this.healthyThresholdCount = builder.healthyThresholdCount;
        this.unhealthyThresholdCount = builder.unhealthyThresholdCount;
        this.matcher = builder.matcher;
    }

    /**
     * 

* The Amazon Resource Name (ARN) of the target group. *

* * @return The Amazon Resource Name (ARN) of the target group. */ public final String targetGroupArn() { return targetGroupArn; } /** *

* The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, the * default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is TCP. The TCP protocol is * not supported for health checks if the protocol of the target group is HTTP or HTTPS. It is supported for health * checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP * protocols are not supported for health checks. *

*

* If the service returns an enum value that is not available in the current SDK version, * {@link #healthCheckProtocol} will return {@link ProtocolEnum#UNKNOWN_TO_SDK_VERSION}. The raw value returned by * the service is available from {@link #healthCheckProtocolAsString}. *

* * @return The protocol the load balancer uses when performing health checks on targets. For Application Load * Balancers, the default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is * TCP. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or * HTTPS. It is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or * TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks. * @see ProtocolEnum */ public final ProtocolEnum healthCheckProtocol() { return ProtocolEnum.fromValue(healthCheckProtocol); } /** *

* The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, the * default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is TCP. The TCP protocol is * not supported for health checks if the protocol of the target group is HTTP or HTTPS. It is supported for health * checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP * protocols are not supported for health checks. *

*

* If the service returns an enum value that is not available in the current SDK version, * {@link #healthCheckProtocol} will return {@link ProtocolEnum#UNKNOWN_TO_SDK_VERSION}. The raw value returned by * the service is available from {@link #healthCheckProtocolAsString}. *

* * @return The protocol the load balancer uses when performing health checks on targets. For Application Load * Balancers, the default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is * TCP. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or * HTTPS. It is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or * TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks. * @see ProtocolEnum */ public final String healthCheckProtocolAsString() { return healthCheckProtocol; } /** *

* The port the load balancer uses when performing health checks on targets. *

* * @return The port the load balancer uses when performing health checks on targets. */ public final String healthCheckPort() { return healthCheckPort; } /** *

* [HTTP/HTTPS health checks] The destination for health checks on the targets. *

*

* [HTTP1 or HTTP2 protocol version] The ping path. The default is /. *

*

* [GRPC protocol version] The path of a custom health check method with the format /package.service/method. The * default is /Amazon Web Services.ALB/healthcheck. *

* * @return [HTTP/HTTPS health checks] The destination for health checks on the targets.

*

* [HTTP1 or HTTP2 protocol version] The ping path. The default is /. *

*

* [GRPC protocol version] The path of a custom health check method with the format /package.service/method. * The default is /Amazon Web Services.ALB/healthcheck. */ public final String healthCheckPath() { return healthCheckPath; } /** *

* Indicates whether health checks are enabled. *

* * @return Indicates whether health checks are enabled. */ public final Boolean healthCheckEnabled() { return healthCheckEnabled; } /** *

* The approximate amount of time, in seconds, between health checks of an individual target. For TCP health checks, * the supported values are 10 or 30 seconds. *

* * @return The approximate amount of time, in seconds, between health checks of an individual target. For TCP health * checks, the supported values are 10 or 30 seconds. */ public final Integer healthCheckIntervalSeconds() { return healthCheckIntervalSeconds; } /** *

* [HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check. *

* * @return [HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health * check. */ public final Integer healthCheckTimeoutSeconds() { return healthCheckTimeoutSeconds; } /** *

* The number of consecutive health checks successes required before considering an unhealthy target healthy. *

* * @return The number of consecutive health checks successes required before considering an unhealthy target * healthy. */ public final Integer healthyThresholdCount() { return healthyThresholdCount; } /** *

* The number of consecutive health check failures required before considering the target unhealthy. For target * groups with a protocol of TCP or TLS, this value must be the same as the healthy threshold count. *

* * @return The number of consecutive health check failures required before considering the target unhealthy. For * target groups with a protocol of TCP or TLS, this value must be the same as the healthy threshold count. */ public final Integer unhealthyThresholdCount() { return unhealthyThresholdCount; } /** *

* [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target. *

* * @return [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a * target. */ public final Matcher matcher() { return matcher; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + super.hashCode(); hashCode = 31 * hashCode + Objects.hashCode(targetGroupArn()); hashCode = 31 * hashCode + Objects.hashCode(healthCheckProtocolAsString()); hashCode = 31 * hashCode + Objects.hashCode(healthCheckPort()); hashCode = 31 * hashCode + Objects.hashCode(healthCheckPath()); hashCode = 31 * hashCode + Objects.hashCode(healthCheckEnabled()); hashCode = 31 * hashCode + Objects.hashCode(healthCheckIntervalSeconds()); hashCode = 31 * hashCode + Objects.hashCode(healthCheckTimeoutSeconds()); hashCode = 31 * hashCode + Objects.hashCode(healthyThresholdCount()); hashCode = 31 * hashCode + Objects.hashCode(unhealthyThresholdCount()); hashCode = 31 * hashCode + Objects.hashCode(matcher()); return hashCode; } @Override public final boolean equals(Object obj) { return super.equals(obj) && equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof ModifyTargetGroupRequest)) { return false; } ModifyTargetGroupRequest other = (ModifyTargetGroupRequest) obj; return Objects.equals(targetGroupArn(), other.targetGroupArn()) && Objects.equals(healthCheckProtocolAsString(), other.healthCheckProtocolAsString()) && Objects.equals(healthCheckPort(), other.healthCheckPort()) && Objects.equals(healthCheckPath(), other.healthCheckPath()) && Objects.equals(healthCheckEnabled(), other.healthCheckEnabled()) && Objects.equals(healthCheckIntervalSeconds(), other.healthCheckIntervalSeconds()) && Objects.equals(healthCheckTimeoutSeconds(), other.healthCheckTimeoutSeconds()) && Objects.equals(healthyThresholdCount(), other.healthyThresholdCount()) && Objects.equals(unhealthyThresholdCount(), other.unhealthyThresholdCount()) && Objects.equals(matcher(), other.matcher()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString.builder("ModifyTargetGroupRequest").add("TargetGroupArn", targetGroupArn()) .add("HealthCheckProtocol", healthCheckProtocolAsString()).add("HealthCheckPort", healthCheckPort()) .add("HealthCheckPath", healthCheckPath()).add("HealthCheckEnabled", healthCheckEnabled()) .add("HealthCheckIntervalSeconds", healthCheckIntervalSeconds()) .add("HealthCheckTimeoutSeconds", healthCheckTimeoutSeconds()) .add("HealthyThresholdCount", healthyThresholdCount()).add("UnhealthyThresholdCount", unhealthyThresholdCount()) .add("Matcher", matcher()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "TargetGroupArn": return Optional.ofNullable(clazz.cast(targetGroupArn())); case "HealthCheckProtocol": return Optional.ofNullable(clazz.cast(healthCheckProtocolAsString())); case "HealthCheckPort": return Optional.ofNullable(clazz.cast(healthCheckPort())); case "HealthCheckPath": return Optional.ofNullable(clazz.cast(healthCheckPath())); case "HealthCheckEnabled": return Optional.ofNullable(clazz.cast(healthCheckEnabled())); case "HealthCheckIntervalSeconds": return Optional.ofNullable(clazz.cast(healthCheckIntervalSeconds())); case "HealthCheckTimeoutSeconds": return Optional.ofNullable(clazz.cast(healthCheckTimeoutSeconds())); case "HealthyThresholdCount": return Optional.ofNullable(clazz.cast(healthyThresholdCount())); case "UnhealthyThresholdCount": return Optional.ofNullable(clazz.cast(unhealthyThresholdCount())); case "Matcher": return Optional.ofNullable(clazz.cast(matcher())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((ModifyTargetGroupRequest) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends ElasticLoadBalancingV2Request.Builder, SdkPojo, CopyableBuilder { /** *

* The Amazon Resource Name (ARN) of the target group. *

* * @param targetGroupArn * The Amazon Resource Name (ARN) of the target group. * @return Returns a reference to this object so that method calls can be chained together. */ Builder targetGroupArn(String targetGroupArn); /** *

* The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, * the default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is TCP. The TCP * protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. It is * supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The * GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks. *

* * @param healthCheckProtocol * The protocol the load balancer uses when performing health checks on targets. For Application Load * Balancers, the default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is * TCP. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP * or HTTPS. It is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, * or TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks. * @see ProtocolEnum * @return Returns a reference to this object so that method calls can be chained together. * @see ProtocolEnum */ Builder healthCheckProtocol(String healthCheckProtocol); /** *

* The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, * the default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is TCP. The TCP * protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. It is * supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The * GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks. *

* * @param healthCheckProtocol * The protocol the load balancer uses when performing health checks on targets. For Application Load * Balancers, the default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is * TCP. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP * or HTTPS. It is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, * or TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks. * @see ProtocolEnum * @return Returns a reference to this object so that method calls can be chained together. * @see ProtocolEnum */ Builder healthCheckProtocol(ProtocolEnum healthCheckProtocol); /** *

* The port the load balancer uses when performing health checks on targets. *

* * @param healthCheckPort * The port the load balancer uses when performing health checks on targets. * @return Returns a reference to this object so that method calls can be chained together. */ Builder healthCheckPort(String healthCheckPort); /** *

* [HTTP/HTTPS health checks] The destination for health checks on the targets. *

*

* [HTTP1 or HTTP2 protocol version] The ping path. The default is /. *

*

* [GRPC protocol version] The path of a custom health check method with the format /package.service/method. The * default is /Amazon Web Services.ALB/healthcheck. *

* * @param healthCheckPath * [HTTP/HTTPS health checks] The destination for health checks on the targets.

*

* [HTTP1 or HTTP2 protocol version] The ping path. The default is /. *

*

* [GRPC protocol version] The path of a custom health check method with the format * /package.service/method. The default is /Amazon Web Services.ALB/healthcheck. * @return Returns a reference to this object so that method calls can be chained together. */ Builder healthCheckPath(String healthCheckPath); /** *

* Indicates whether health checks are enabled. *

* * @param healthCheckEnabled * Indicates whether health checks are enabled. * @return Returns a reference to this object so that method calls can be chained together. */ Builder healthCheckEnabled(Boolean healthCheckEnabled); /** *

* The approximate amount of time, in seconds, between health checks of an individual target. For TCP health * checks, the supported values are 10 or 30 seconds. *

* * @param healthCheckIntervalSeconds * The approximate amount of time, in seconds, between health checks of an individual target. For TCP * health checks, the supported values are 10 or 30 seconds. * @return Returns a reference to this object so that method calls can be chained together. */ Builder healthCheckIntervalSeconds(Integer healthCheckIntervalSeconds); /** *

* [HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health * check. *

* * @param healthCheckTimeoutSeconds * [HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed * health check. * @return Returns a reference to this object so that method calls can be chained together. */ Builder healthCheckTimeoutSeconds(Integer healthCheckTimeoutSeconds); /** *

* The number of consecutive health checks successes required before considering an unhealthy target healthy. *

* * @param healthyThresholdCount * The number of consecutive health checks successes required before considering an unhealthy target * healthy. * @return Returns a reference to this object so that method calls can be chained together. */ Builder healthyThresholdCount(Integer healthyThresholdCount); /** *

* The number of consecutive health check failures required before considering the target unhealthy. For target * groups with a protocol of TCP or TLS, this value must be the same as the healthy threshold count. *

* * @param unhealthyThresholdCount * The number of consecutive health check failures required before considering the target unhealthy. For * target groups with a protocol of TCP or TLS, this value must be the same as the healthy threshold * count. * @return Returns a reference to this object so that method calls can be chained together. */ Builder unhealthyThresholdCount(Integer unhealthyThresholdCount); /** *

* [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a * target. *

* * @param matcher * [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from * a target. * @return Returns a reference to this object so that method calls can be chained together. */ Builder matcher(Matcher matcher); /** *

* [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a * target. *

* This is a convenience method that creates an instance of the {@link Matcher.Builder} avoiding the need to * create one manually via {@link Matcher#builder()}. * * When the {@link Consumer} completes, {@link Matcher.Builder#build()} is called immediately and its result is * passed to {@link #matcher(Matcher)}. * * @param matcher * a consumer that will call methods on {@link Matcher.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #matcher(Matcher) */ default Builder matcher(Consumer matcher) { return matcher(Matcher.builder().applyMutation(matcher).build()); } @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends ElasticLoadBalancingV2Request.BuilderImpl implements Builder { private String targetGroupArn; private String healthCheckProtocol; private String healthCheckPort; private String healthCheckPath; private Boolean healthCheckEnabled; private Integer healthCheckIntervalSeconds; private Integer healthCheckTimeoutSeconds; private Integer healthyThresholdCount; private Integer unhealthyThresholdCount; private Matcher matcher; private BuilderImpl() { } private BuilderImpl(ModifyTargetGroupRequest model) { super(model); targetGroupArn(model.targetGroupArn); healthCheckProtocol(model.healthCheckProtocol); healthCheckPort(model.healthCheckPort); healthCheckPath(model.healthCheckPath); healthCheckEnabled(model.healthCheckEnabled); healthCheckIntervalSeconds(model.healthCheckIntervalSeconds); healthCheckTimeoutSeconds(model.healthCheckTimeoutSeconds); healthyThresholdCount(model.healthyThresholdCount); unhealthyThresholdCount(model.unhealthyThresholdCount); matcher(model.matcher); } public final String getTargetGroupArn() { return targetGroupArn; } public final void setTargetGroupArn(String targetGroupArn) { this.targetGroupArn = targetGroupArn; } @Override public final Builder targetGroupArn(String targetGroupArn) { this.targetGroupArn = targetGroupArn; return this; } public final String getHealthCheckProtocol() { return healthCheckProtocol; } public final void setHealthCheckProtocol(String healthCheckProtocol) { this.healthCheckProtocol = healthCheckProtocol; } @Override public final Builder healthCheckProtocol(String healthCheckProtocol) { this.healthCheckProtocol = healthCheckProtocol; return this; } @Override public final Builder healthCheckProtocol(ProtocolEnum healthCheckProtocol) { this.healthCheckProtocol(healthCheckProtocol == null ? null : healthCheckProtocol.toString()); return this; } public final String getHealthCheckPort() { return healthCheckPort; } public final void setHealthCheckPort(String healthCheckPort) { this.healthCheckPort = healthCheckPort; } @Override public final Builder healthCheckPort(String healthCheckPort) { this.healthCheckPort = healthCheckPort; return this; } public final String getHealthCheckPath() { return healthCheckPath; } public final void setHealthCheckPath(String healthCheckPath) { this.healthCheckPath = healthCheckPath; } @Override public final Builder healthCheckPath(String healthCheckPath) { this.healthCheckPath = healthCheckPath; return this; } public final Boolean getHealthCheckEnabled() { return healthCheckEnabled; } public final void setHealthCheckEnabled(Boolean healthCheckEnabled) { this.healthCheckEnabled = healthCheckEnabled; } @Override public final Builder healthCheckEnabled(Boolean healthCheckEnabled) { this.healthCheckEnabled = healthCheckEnabled; return this; } public final Integer getHealthCheckIntervalSeconds() { return healthCheckIntervalSeconds; } public final void setHealthCheckIntervalSeconds(Integer healthCheckIntervalSeconds) { this.healthCheckIntervalSeconds = healthCheckIntervalSeconds; } @Override public final Builder healthCheckIntervalSeconds(Integer healthCheckIntervalSeconds) { this.healthCheckIntervalSeconds = healthCheckIntervalSeconds; return this; } public final Integer getHealthCheckTimeoutSeconds() { return healthCheckTimeoutSeconds; } public final void setHealthCheckTimeoutSeconds(Integer healthCheckTimeoutSeconds) { this.healthCheckTimeoutSeconds = healthCheckTimeoutSeconds; } @Override public final Builder healthCheckTimeoutSeconds(Integer healthCheckTimeoutSeconds) { this.healthCheckTimeoutSeconds = healthCheckTimeoutSeconds; return this; } public final Integer getHealthyThresholdCount() { return healthyThresholdCount; } public final void setHealthyThresholdCount(Integer healthyThresholdCount) { this.healthyThresholdCount = healthyThresholdCount; } @Override public final Builder healthyThresholdCount(Integer healthyThresholdCount) { this.healthyThresholdCount = healthyThresholdCount; return this; } public final Integer getUnhealthyThresholdCount() { return unhealthyThresholdCount; } public final void setUnhealthyThresholdCount(Integer unhealthyThresholdCount) { this.unhealthyThresholdCount = unhealthyThresholdCount; } @Override public final Builder unhealthyThresholdCount(Integer unhealthyThresholdCount) { this.unhealthyThresholdCount = unhealthyThresholdCount; return this; } public final Matcher.Builder getMatcher() { return matcher != null ? matcher.toBuilder() : null; } public final void setMatcher(Matcher.BuilderImpl matcher) { this.matcher = matcher != null ? matcher.build() : null; } @Override public final Builder matcher(Matcher matcher) { this.matcher = matcher; return this; } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public ModifyTargetGroupRequest build() { return new ModifyTargetGroupRequest(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy