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

software.amazon.awssdk.services.ecs.model.Setting 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.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.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;

/**
 * 

* The current account setting for a resource. *

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

* The Amazon ECS resource name. *

*

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

* * @return The Amazon ECS resource name. * @see SettingName */ public final SettingName name() { return SettingName.fromValue(name); } /** *

* The Amazon ECS resource name. *

*

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

* * @return The Amazon ECS resource name. * @see SettingName */ public final String nameAsString() { return name; } /** *

* Determines whether the account setting is on or off for the specified resource. *

* * @return Determines whether the account setting is on or off for the specified resource. */ public final String value() { return value; } /** *

* The ARN of the principal. It can be a user, role, or the root user. If this field is omitted, the authenticated * user is assumed. *

* * @return The ARN of the principal. It can be a user, role, or the root user. If this field is omitted, the * authenticated user is assumed. */ public final String principalArn() { return principalArn; } /** *

* Indicates whether Amazon Web Services manages the account setting, or if the user manages it. *

*

* aws_managed account settings are read-only, as Amazon Web Services manages such on the customer's * behalf. Currently, the guardDutyActivate account setting is the only one Amazon Web Services * manages. *

*

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

* * @return Indicates whether Amazon Web Services manages the account setting, or if the user manages it.

*

* aws_managed account settings are read-only, as Amazon Web Services manages such on the * customer's behalf. Currently, the guardDutyActivate account setting is the only one Amazon * Web Services manages. * @see SettingType */ public final SettingType type() { return SettingType.fromValue(type); } /** *

* Indicates whether Amazon Web Services manages the account setting, or if the user manages it. *

*

* aws_managed account settings are read-only, as Amazon Web Services manages such on the customer's * behalf. Currently, the guardDutyActivate account setting is the only one Amazon Web Services * manages. *

*

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

* * @return Indicates whether Amazon Web Services manages the account setting, or if the user manages it.

*

* aws_managed account settings are read-only, as Amazon Web Services manages such on the * customer's behalf. Currently, the guardDutyActivate account setting is the only one Amazon * Web Services manages. * @see SettingType */ public final String typeAsString() { return type; } @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(nameAsString()); hashCode = 31 * hashCode + Objects.hashCode(value()); hashCode = 31 * hashCode + Objects.hashCode(principalArn()); hashCode = 31 * hashCode + Objects.hashCode(typeAsString()); 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 Setting)) { return false; } Setting other = (Setting) obj; return Objects.equals(nameAsString(), other.nameAsString()) && Objects.equals(value(), other.value()) && Objects.equals(principalArn(), other.principalArn()) && Objects.equals(typeAsString(), other.typeAsString()); } /** * 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("Setting").add("Name", nameAsString()).add("Value", value()).add("PrincipalArn", principalArn()) .add("Type", typeAsString()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "name": return Optional.ofNullable(clazz.cast(nameAsString())); case "value": return Optional.ofNullable(clazz.cast(value())); case "principalArn": return Optional.ofNullable(clazz.cast(principalArn())); case "type": return Optional.ofNullable(clazz.cast(typeAsString())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((Setting) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* The Amazon ECS resource name. *

* * @param name * The Amazon ECS resource name. * @see SettingName * @return Returns a reference to this object so that method calls can be chained together. * @see SettingName */ Builder name(String name); /** *

* The Amazon ECS resource name. *

* * @param name * The Amazon ECS resource name. * @see SettingName * @return Returns a reference to this object so that method calls can be chained together. * @see SettingName */ Builder name(SettingName name); /** *

* Determines whether the account setting is on or off for the specified resource. *

* * @param value * Determines whether the account setting is on or off for the specified resource. * @return Returns a reference to this object so that method calls can be chained together. */ Builder value(String value); /** *

* The ARN of the principal. It can be a user, role, or the root user. If this field is omitted, the * authenticated user is assumed. *

* * @param principalArn * The ARN of the principal. It can be a user, role, or the root user. If this field is omitted, the * authenticated user is assumed. * @return Returns a reference to this object so that method calls can be chained together. */ Builder principalArn(String principalArn); /** *

* Indicates whether Amazon Web Services manages the account setting, or if the user manages it. *

*

* aws_managed account settings are read-only, as Amazon Web Services manages such on the * customer's behalf. Currently, the guardDutyActivate account setting is the only one Amazon Web * Services manages. *

* * @param type * Indicates whether Amazon Web Services manages the account setting, or if the user manages it.

*

* aws_managed account settings are read-only, as Amazon Web Services manages such on the * customer's behalf. Currently, the guardDutyActivate account setting is the only one * Amazon Web Services manages. * @see SettingType * @return Returns a reference to this object so that method calls can be chained together. * @see SettingType */ Builder type(String type); /** *

* Indicates whether Amazon Web Services manages the account setting, or if the user manages it. *

*

* aws_managed account settings are read-only, as Amazon Web Services manages such on the * customer's behalf. Currently, the guardDutyActivate account setting is the only one Amazon Web * Services manages. *

* * @param type * Indicates whether Amazon Web Services manages the account setting, or if the user manages it.

*

* aws_managed account settings are read-only, as Amazon Web Services manages such on the * customer's behalf. Currently, the guardDutyActivate account setting is the only one * Amazon Web Services manages. * @see SettingType * @return Returns a reference to this object so that method calls can be chained together. * @see SettingType */ Builder type(SettingType type); } static final class BuilderImpl implements Builder { private String name; private String value; private String principalArn; private String type; private BuilderImpl() { } private BuilderImpl(Setting model) { name(model.name); value(model.value); principalArn(model.principalArn); type(model.type); } public final String getName() { return name; } public final void setName(String name) { this.name = name; } @Override public final Builder name(String name) { this.name = name; return this; } @Override public final Builder name(SettingName name) { this.name(name == null ? null : name.toString()); return this; } public final String getValue() { return value; } public final void setValue(String value) { this.value = value; } @Override public final Builder value(String value) { this.value = value; return this; } public final String getPrincipalArn() { return principalArn; } public final void setPrincipalArn(String principalArn) { this.principalArn = principalArn; } @Override public final Builder principalArn(String principalArn) { this.principalArn = principalArn; return this; } public final String getType() { return type; } public final void setType(String type) { this.type = type; } @Override public final Builder type(String type) { this.type = type; return this; } @Override public final Builder type(SettingType type) { this.type(type == null ? null : type.toString()); return this; } @Override public Setting build() { return new Setting(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy