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

software.amazon.awssdk.services.servicediscovery.model.DiscoverInstancesRevisionRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Route 53 Auto Naming module holds the client classes that are used for communicating with Amazon Route 53 Auto Naming Service

There is a newer version: 2.29.39
Show newest version
/*
 * 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.servicediscovery.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 DiscoverInstancesRevisionRequest extends ServiceDiscoveryRequest implements
        ToCopyableBuilder {
    private static final SdkField NAMESPACE_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("NamespaceName").getter(getter(DiscoverInstancesRevisionRequest::namespaceName))
            .setter(setter(Builder::namespaceName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("NamespaceName").build()).build();

    private static final SdkField SERVICE_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("ServiceName").getter(getter(DiscoverInstancesRevisionRequest::serviceName))
            .setter(setter(Builder::serviceName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ServiceName").build()).build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(NAMESPACE_NAME_FIELD,
            SERVICE_NAME_FIELD));

    private final String namespaceName;

    private final String serviceName;

    private DiscoverInstancesRevisionRequest(BuilderImpl builder) {
        super(builder);
        this.namespaceName = builder.namespaceName;
        this.serviceName = builder.serviceName;
    }

    /**
     * 

* The HttpName name of the namespace. It's found in the HttpProperties member of the * Properties member of the namespace. *

* * @return The HttpName name of the namespace. It's found in the HttpProperties member of * the Properties member of the namespace. */ public final String namespaceName() { return namespaceName; } /** *

* The name of the service that you specified when you registered the instance. *

* * @return The name of the service that you specified when you registered the instance. */ public final String serviceName() { return serviceName; } @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(namespaceName()); hashCode = 31 * hashCode + Objects.hashCode(serviceName()); 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 DiscoverInstancesRevisionRequest)) { return false; } DiscoverInstancesRevisionRequest other = (DiscoverInstancesRevisionRequest) obj; return Objects.equals(namespaceName(), other.namespaceName()) && Objects.equals(serviceName(), other.serviceName()); } /** * 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("DiscoverInstancesRevisionRequest").add("NamespaceName", namespaceName()) .add("ServiceName", serviceName()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "NamespaceName": return Optional.ofNullable(clazz.cast(namespaceName())); case "ServiceName": return Optional.ofNullable(clazz.cast(serviceName())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((DiscoverInstancesRevisionRequest) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends ServiceDiscoveryRequest.Builder, SdkPojo, CopyableBuilder { /** *

* The HttpName name of the namespace. It's found in the HttpProperties member of the * Properties member of the namespace. *

* * @param namespaceName * The HttpName name of the namespace. It's found in the HttpProperties member * of the Properties member of the namespace. * @return Returns a reference to this object so that method calls can be chained together. */ Builder namespaceName(String namespaceName); /** *

* The name of the service that you specified when you registered the instance. *

* * @param serviceName * The name of the service that you specified when you registered the instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder serviceName(String serviceName); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends ServiceDiscoveryRequest.BuilderImpl implements Builder { private String namespaceName; private String serviceName; private BuilderImpl() { } private BuilderImpl(DiscoverInstancesRevisionRequest model) { super(model); namespaceName(model.namespaceName); serviceName(model.serviceName); } public final String getNamespaceName() { return namespaceName; } public final void setNamespaceName(String namespaceName) { this.namespaceName = namespaceName; } @Override public final Builder namespaceName(String namespaceName) { this.namespaceName = namespaceName; return this; } public final String getServiceName() { return serviceName; } public final void setServiceName(String serviceName) { this.serviceName = serviceName; } @Override public final Builder serviceName(String serviceName) { this.serviceName = serviceName; 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 DiscoverInstancesRevisionRequest build() { return new DiscoverInstancesRevisionRequest(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy