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

software.amazon.awssdk.services.snowball.model.OnDeviceServiceConfiguration Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Snowball module holds the client classes that are used for communicating with Amazon Snowball.

There is a newer version: 2.29.15
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.snowball.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.Consumer;
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;

/**
 * 

* An object that represents the metadata and configuration settings for services on an Amazon Web Services Snow Family * device. *

*/ @Generated("software.amazon.awssdk:codegen") public final class OnDeviceServiceConfiguration implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField NFS_ON_DEVICE_SERVICE_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("NFSOnDeviceService") .getter(getter(OnDeviceServiceConfiguration::nfsOnDeviceService)).setter(setter(Builder::nfsOnDeviceService)) .constructor(NFSOnDeviceServiceConfiguration::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("NFSOnDeviceService").build()) .build(); private static final SdkField TGW_ON_DEVICE_SERVICE_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("TGWOnDeviceService") .getter(getter(OnDeviceServiceConfiguration::tgwOnDeviceService)).setter(setter(Builder::tgwOnDeviceService)) .constructor(TGWOnDeviceServiceConfiguration::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TGWOnDeviceService").build()) .build(); private static final SdkField EKS_ON_DEVICE_SERVICE_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("EKSOnDeviceService") .getter(getter(OnDeviceServiceConfiguration::eksOnDeviceService)).setter(setter(Builder::eksOnDeviceService)) .constructor(EKSOnDeviceServiceConfiguration::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EKSOnDeviceService").build()) .build(); private static final SdkField S3_ON_DEVICE_SERVICE_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("S3OnDeviceService") .getter(getter(OnDeviceServiceConfiguration::s3OnDeviceService)).setter(setter(Builder::s3OnDeviceService)) .constructor(S3OnDeviceServiceConfiguration::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("S3OnDeviceService").build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(NFS_ON_DEVICE_SERVICE_FIELD, TGW_ON_DEVICE_SERVICE_FIELD, EKS_ON_DEVICE_SERVICE_FIELD, S3_ON_DEVICE_SERVICE_FIELD)); private static final long serialVersionUID = 1L; private final NFSOnDeviceServiceConfiguration nfsOnDeviceService; private final TGWOnDeviceServiceConfiguration tgwOnDeviceService; private final EKSOnDeviceServiceConfiguration eksOnDeviceService; private final S3OnDeviceServiceConfiguration s3OnDeviceService; private OnDeviceServiceConfiguration(BuilderImpl builder) { this.nfsOnDeviceService = builder.nfsOnDeviceService; this.tgwOnDeviceService = builder.tgwOnDeviceService; this.eksOnDeviceService = builder.eksOnDeviceService; this.s3OnDeviceService = builder.s3OnDeviceService; } /** *

* Represents the NFS (Network File System) service on a Snow Family device. *

* * @return Represents the NFS (Network File System) service on a Snow Family device. */ public final NFSOnDeviceServiceConfiguration nfsOnDeviceService() { return nfsOnDeviceService; } /** *

* Represents the Storage Gateway service Tape Gateway type on a Snow Family device. *

* * @return Represents the Storage Gateway service Tape Gateway type on a Snow Family device. */ public final TGWOnDeviceServiceConfiguration tgwOnDeviceService() { return tgwOnDeviceService; } /** *

* The configuration of EKS Anywhere on the Snow Family device. *

* * @return The configuration of EKS Anywhere on the Snow Family device. */ public final EKSOnDeviceServiceConfiguration eksOnDeviceService() { return eksOnDeviceService; } /** *

* Configuration for Amazon S3 compatible storage on Snow family devices. *

* * @return Configuration for Amazon S3 compatible storage on Snow family devices. */ public final S3OnDeviceServiceConfiguration s3OnDeviceService() { return s3OnDeviceService; } @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(nfsOnDeviceService()); hashCode = 31 * hashCode + Objects.hashCode(tgwOnDeviceService()); hashCode = 31 * hashCode + Objects.hashCode(eksOnDeviceService()); hashCode = 31 * hashCode + Objects.hashCode(s3OnDeviceService()); 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 OnDeviceServiceConfiguration)) { return false; } OnDeviceServiceConfiguration other = (OnDeviceServiceConfiguration) obj; return Objects.equals(nfsOnDeviceService(), other.nfsOnDeviceService()) && Objects.equals(tgwOnDeviceService(), other.tgwOnDeviceService()) && Objects.equals(eksOnDeviceService(), other.eksOnDeviceService()) && Objects.equals(s3OnDeviceService(), other.s3OnDeviceService()); } /** * 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("OnDeviceServiceConfiguration").add("NFSOnDeviceService", nfsOnDeviceService()) .add("TGWOnDeviceService", tgwOnDeviceService()).add("EKSOnDeviceService", eksOnDeviceService()) .add("S3OnDeviceService", s3OnDeviceService()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "NFSOnDeviceService": return Optional.ofNullable(clazz.cast(nfsOnDeviceService())); case "TGWOnDeviceService": return Optional.ofNullable(clazz.cast(tgwOnDeviceService())); case "EKSOnDeviceService": return Optional.ofNullable(clazz.cast(eksOnDeviceService())); case "S3OnDeviceService": return Optional.ofNullable(clazz.cast(s3OnDeviceService())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((OnDeviceServiceConfiguration) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* Represents the NFS (Network File System) service on a Snow Family device. *

* * @param nfsOnDeviceService * Represents the NFS (Network File System) service on a Snow Family device. * @return Returns a reference to this object so that method calls can be chained together. */ Builder nfsOnDeviceService(NFSOnDeviceServiceConfiguration nfsOnDeviceService); /** *

* Represents the NFS (Network File System) service on a Snow Family device. *

* This is a convenience method that creates an instance of the {@link NFSOnDeviceServiceConfiguration.Builder} * avoiding the need to create one manually via {@link NFSOnDeviceServiceConfiguration#builder()}. * *

* When the {@link Consumer} completes, {@link NFSOnDeviceServiceConfiguration.Builder#build()} is called * immediately and its result is passed to {@link #nfsOnDeviceService(NFSOnDeviceServiceConfiguration)}. * * @param nfsOnDeviceService * a consumer that will call methods on {@link NFSOnDeviceServiceConfiguration.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #nfsOnDeviceService(NFSOnDeviceServiceConfiguration) */ default Builder nfsOnDeviceService(Consumer nfsOnDeviceService) { return nfsOnDeviceService(NFSOnDeviceServiceConfiguration.builder().applyMutation(nfsOnDeviceService).build()); } /** *

* Represents the Storage Gateway service Tape Gateway type on a Snow Family device. *

* * @param tgwOnDeviceService * Represents the Storage Gateway service Tape Gateway type on a Snow Family device. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tgwOnDeviceService(TGWOnDeviceServiceConfiguration tgwOnDeviceService); /** *

* Represents the Storage Gateway service Tape Gateway type on a Snow Family device. *

* This is a convenience method that creates an instance of the {@link TGWOnDeviceServiceConfiguration.Builder} * avoiding the need to create one manually via {@link TGWOnDeviceServiceConfiguration#builder()}. * *

* When the {@link Consumer} completes, {@link TGWOnDeviceServiceConfiguration.Builder#build()} is called * immediately and its result is passed to {@link #tgwOnDeviceService(TGWOnDeviceServiceConfiguration)}. * * @param tgwOnDeviceService * a consumer that will call methods on {@link TGWOnDeviceServiceConfiguration.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #tgwOnDeviceService(TGWOnDeviceServiceConfiguration) */ default Builder tgwOnDeviceService(Consumer tgwOnDeviceService) { return tgwOnDeviceService(TGWOnDeviceServiceConfiguration.builder().applyMutation(tgwOnDeviceService).build()); } /** *

* The configuration of EKS Anywhere on the Snow Family device. *

* * @param eksOnDeviceService * The configuration of EKS Anywhere on the Snow Family device. * @return Returns a reference to this object so that method calls can be chained together. */ Builder eksOnDeviceService(EKSOnDeviceServiceConfiguration eksOnDeviceService); /** *

* The configuration of EKS Anywhere on the Snow Family device. *

* This is a convenience method that creates an instance of the {@link EKSOnDeviceServiceConfiguration.Builder} * avoiding the need to create one manually via {@link EKSOnDeviceServiceConfiguration#builder()}. * *

* When the {@link Consumer} completes, {@link EKSOnDeviceServiceConfiguration.Builder#build()} is called * immediately and its result is passed to {@link #eksOnDeviceService(EKSOnDeviceServiceConfiguration)}. * * @param eksOnDeviceService * a consumer that will call methods on {@link EKSOnDeviceServiceConfiguration.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #eksOnDeviceService(EKSOnDeviceServiceConfiguration) */ default Builder eksOnDeviceService(Consumer eksOnDeviceService) { return eksOnDeviceService(EKSOnDeviceServiceConfiguration.builder().applyMutation(eksOnDeviceService).build()); } /** *

* Configuration for Amazon S3 compatible storage on Snow family devices. *

* * @param s3OnDeviceService * Configuration for Amazon S3 compatible storage on Snow family devices. * @return Returns a reference to this object so that method calls can be chained together. */ Builder s3OnDeviceService(S3OnDeviceServiceConfiguration s3OnDeviceService); /** *

* Configuration for Amazon S3 compatible storage on Snow family devices. *

* This is a convenience method that creates an instance of the {@link S3OnDeviceServiceConfiguration.Builder} * avoiding the need to create one manually via {@link S3OnDeviceServiceConfiguration#builder()}. * *

* When the {@link Consumer} completes, {@link S3OnDeviceServiceConfiguration.Builder#build()} is called * immediately and its result is passed to {@link #s3OnDeviceService(S3OnDeviceServiceConfiguration)}. * * @param s3OnDeviceService * a consumer that will call methods on {@link S3OnDeviceServiceConfiguration.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #s3OnDeviceService(S3OnDeviceServiceConfiguration) */ default Builder s3OnDeviceService(Consumer s3OnDeviceService) { return s3OnDeviceService(S3OnDeviceServiceConfiguration.builder().applyMutation(s3OnDeviceService).build()); } } static final class BuilderImpl implements Builder { private NFSOnDeviceServiceConfiguration nfsOnDeviceService; private TGWOnDeviceServiceConfiguration tgwOnDeviceService; private EKSOnDeviceServiceConfiguration eksOnDeviceService; private S3OnDeviceServiceConfiguration s3OnDeviceService; private BuilderImpl() { } private BuilderImpl(OnDeviceServiceConfiguration model) { nfsOnDeviceService(model.nfsOnDeviceService); tgwOnDeviceService(model.tgwOnDeviceService); eksOnDeviceService(model.eksOnDeviceService); s3OnDeviceService(model.s3OnDeviceService); } public final NFSOnDeviceServiceConfiguration.Builder getNfsOnDeviceService() { return nfsOnDeviceService != null ? nfsOnDeviceService.toBuilder() : null; } public final void setNfsOnDeviceService(NFSOnDeviceServiceConfiguration.BuilderImpl nfsOnDeviceService) { this.nfsOnDeviceService = nfsOnDeviceService != null ? nfsOnDeviceService.build() : null; } @Override public final Builder nfsOnDeviceService(NFSOnDeviceServiceConfiguration nfsOnDeviceService) { this.nfsOnDeviceService = nfsOnDeviceService; return this; } public final TGWOnDeviceServiceConfiguration.Builder getTgwOnDeviceService() { return tgwOnDeviceService != null ? tgwOnDeviceService.toBuilder() : null; } public final void setTgwOnDeviceService(TGWOnDeviceServiceConfiguration.BuilderImpl tgwOnDeviceService) { this.tgwOnDeviceService = tgwOnDeviceService != null ? tgwOnDeviceService.build() : null; } @Override public final Builder tgwOnDeviceService(TGWOnDeviceServiceConfiguration tgwOnDeviceService) { this.tgwOnDeviceService = tgwOnDeviceService; return this; } public final EKSOnDeviceServiceConfiguration.Builder getEksOnDeviceService() { return eksOnDeviceService != null ? eksOnDeviceService.toBuilder() : null; } public final void setEksOnDeviceService(EKSOnDeviceServiceConfiguration.BuilderImpl eksOnDeviceService) { this.eksOnDeviceService = eksOnDeviceService != null ? eksOnDeviceService.build() : null; } @Override public final Builder eksOnDeviceService(EKSOnDeviceServiceConfiguration eksOnDeviceService) { this.eksOnDeviceService = eksOnDeviceService; return this; } public final S3OnDeviceServiceConfiguration.Builder getS3OnDeviceService() { return s3OnDeviceService != null ? s3OnDeviceService.toBuilder() : null; } public final void setS3OnDeviceService(S3OnDeviceServiceConfiguration.BuilderImpl s3OnDeviceService) { this.s3OnDeviceService = s3OnDeviceService != null ? s3OnDeviceService.build() : null; } @Override public final Builder s3OnDeviceService(S3OnDeviceServiceConfiguration s3OnDeviceService) { this.s3OnDeviceService = s3OnDeviceService; return this; } @Override public OnDeviceServiceConfiguration build() { return new OnDeviceServiceConfiguration(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy