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

software.amazon.awssdk.services.ecs.model.ClusterServiceConnectDefaults Maven / Gradle / Ivy

Go to download

The AWS Java SDK for the Amazon EC2 Container Service holds the client classes that are used for communicating with the Amazon EC2 Container Service

There is a newer version: 2.30.1
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.ecs.model;

import java.io.Serializable;
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.Function;
import software.amazon.awssdk.annotations.Generated;
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;

/**
 * 

* Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any * new services with Service Connect turned on that are created in the cluster are added as client services in the * namespace. This setting only applies to new services that set the enabled parameter to true * in the ServiceConnectConfiguration. You can set the namespace of each service individually in the * ServiceConnectConfiguration to override this default parameter. *

*

* Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to * services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects * logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service * Connect. For more information, see Service Connect in the * Amazon Elastic Container Service Developer Guide. *

*/ @Generated("software.amazon.awssdk:codegen") public final class ClusterServiceConnectDefaults implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField NAMESPACE_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("namespace").getter(getter(ClusterServiceConnectDefaults::namespace)).setter(setter(Builder::namespace)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("namespace").build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(NAMESPACE_FIELD)); private static final long serialVersionUID = 1L; private final String namespace; private ClusterServiceConnectDefaults(BuilderImpl builder) { this.namespace = builder.namespace; } /** *

* The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace. When you create a service and * don't specify a Service Connect configuration, this namespace is used. *

* * @return The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace. When you create a * service and don't specify a Service Connect configuration, this namespace is used. */ public final String namespace() { return namespace; } @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 + Objects.hashCode(namespace()); return hashCode; } @Override public final boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof ClusterServiceConnectDefaults)) { return false; } ClusterServiceConnectDefaults other = (ClusterServiceConnectDefaults) obj; return Objects.equals(namespace(), other.namespace()); } /** * 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("ClusterServiceConnectDefaults").add("Namespace", namespace()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "namespace": return Optional.ofNullable(clazz.cast(namespace())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((ClusterServiceConnectDefaults) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace. When you create a service * and don't specify a Service Connect configuration, this namespace is used. *

* * @param namespace * The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace. When you create a * service and don't specify a Service Connect configuration, this namespace is used. * @return Returns a reference to this object so that method calls can be chained together. */ Builder namespace(String namespace); } static final class BuilderImpl implements Builder { private String namespace; private BuilderImpl() { } private BuilderImpl(ClusterServiceConnectDefaults model) { namespace(model.namespace); } public final String getNamespace() { return namespace; } public final void setNamespace(String namespace) { this.namespace = namespace; } @Override public final Builder namespace(String namespace) { this.namespace = namespace; return this; } @Override public ClusterServiceConnectDefaults build() { return new ClusterServiceConnectDefaults(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy