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

software.amazon.awssdk.services.lambda.model.LayerVersionsListItem Maven / Gradle / Ivy

/*
 * Copyright 2014-2019 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.lambda.model;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Collection;
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.runtime.TypeConverter;
import software.amazon.awssdk.core.traits.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* Details about a version of an AWS * Lambda layer. *

*/ @Generated("software.amazon.awssdk:codegen") public final class LayerVersionsListItem implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField LAYER_VERSION_ARN_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(LayerVersionsListItem::layerVersionArn)).setter(setter(Builder::layerVersionArn)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LayerVersionArn").build()).build(); private static final SdkField VERSION_FIELD = SdkField. builder(MarshallingType.LONG) .getter(getter(LayerVersionsListItem::version)).setter(setter(Builder::version)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Version").build()).build(); private static final SdkField DESCRIPTION_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(LayerVersionsListItem::description)).setter(setter(Builder::description)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Description").build()).build(); private static final SdkField CREATED_DATE_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(LayerVersionsListItem::createdDate)).setter(setter(Builder::createdDate)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CreatedDate").build()).build(); private static final SdkField> COMPATIBLE_RUNTIMES_FIELD = SdkField .> builder(MarshallingType.LIST) .getter(getter(LayerVersionsListItem::compatibleRuntimesAsStrings)) .setter(setter(Builder::compatibleRuntimesWithStrings)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CompatibleRuntimes").build(), ListTrait .builder() .memberLocationName(null) .memberFieldInfo( SdkField. builder(MarshallingType.STRING) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("member").build()).build()).build()).build(); private static final SdkField LICENSE_INFO_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(LayerVersionsListItem::licenseInfo)).setter(setter(Builder::licenseInfo)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LicenseInfo").build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(LAYER_VERSION_ARN_FIELD, VERSION_FIELD, DESCRIPTION_FIELD, CREATED_DATE_FIELD, COMPATIBLE_RUNTIMES_FIELD, LICENSE_INFO_FIELD)); private static final long serialVersionUID = 1L; private final String layerVersionArn; private final Long version; private final String description; private final String createdDate; private final List compatibleRuntimes; private final String licenseInfo; private LayerVersionsListItem(BuilderImpl builder) { this.layerVersionArn = builder.layerVersionArn; this.version = builder.version; this.description = builder.description; this.createdDate = builder.createdDate; this.compatibleRuntimes = builder.compatibleRuntimes; this.licenseInfo = builder.licenseInfo; } /** *

* The ARN of the layer version. *

* * @return The ARN of the layer version. */ public String layerVersionArn() { return layerVersionArn; } /** *

* The version number. *

* * @return The version number. */ public Long version() { return version; } /** *

* The description of the version. *

* * @return The description of the version. */ public String description() { return description; } /** *

* The date that the version was created, in ISO 8601 format. For example, 2018-11-27T15:10:45.123+0000 * . *

* * @return The date that the version was created, in ISO 8601 format. For example, * 2018-11-27T15:10:45.123+0000. */ public String createdDate() { return createdDate; } /** *

* The layer's compatible runtimes. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

* * @return The layer's compatible runtimes. */ public List compatibleRuntimes() { return TypeConverter.convert(compatibleRuntimes, Runtime::fromValue); } /** *

* The layer's compatible runtimes. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

* * @return The layer's compatible runtimes. */ public List compatibleRuntimesAsStrings() { return compatibleRuntimes; } /** *

* The layer's open-source license. *

* * @return The layer's open-source license. */ public String licenseInfo() { return licenseInfo; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(layerVersionArn()); hashCode = 31 * hashCode + Objects.hashCode(version()); hashCode = 31 * hashCode + Objects.hashCode(description()); hashCode = 31 * hashCode + Objects.hashCode(createdDate()); hashCode = 31 * hashCode + Objects.hashCode(compatibleRuntimesAsStrings()); hashCode = 31 * hashCode + Objects.hashCode(licenseInfo()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof LayerVersionsListItem)) { return false; } LayerVersionsListItem other = (LayerVersionsListItem) obj; return Objects.equals(layerVersionArn(), other.layerVersionArn()) && Objects.equals(version(), other.version()) && Objects.equals(description(), other.description()) && Objects.equals(createdDate(), other.createdDate()) && Objects.equals(compatibleRuntimesAsStrings(), other.compatibleRuntimesAsStrings()) && Objects.equals(licenseInfo(), other.licenseInfo()); } /** * 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 String toString() { return ToString.builder("LayerVersionsListItem").add("LayerVersionArn", layerVersionArn()).add("Version", version()) .add("Description", description()).add("CreatedDate", createdDate()) .add("CompatibleRuntimes", compatibleRuntimesAsStrings()).add("LicenseInfo", licenseInfo()).build(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "LayerVersionArn": return Optional.ofNullable(clazz.cast(layerVersionArn())); case "Version": return Optional.ofNullable(clazz.cast(version())); case "Description": return Optional.ofNullable(clazz.cast(description())); case "CreatedDate": return Optional.ofNullable(clazz.cast(createdDate())); case "CompatibleRuntimes": return Optional.ofNullable(clazz.cast(compatibleRuntimesAsStrings())); case "LicenseInfo": return Optional.ofNullable(clazz.cast(licenseInfo())); default: return Optional.empty(); } } @Override public List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((LayerVersionsListItem) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* The ARN of the layer version. *

* * @param layerVersionArn * The ARN of the layer version. * @return Returns a reference to this object so that method calls can be chained together. */ Builder layerVersionArn(String layerVersionArn); /** *

* The version number. *

* * @param version * The version number. * @return Returns a reference to this object so that method calls can be chained together. */ Builder version(Long version); /** *

* The description of the version. *

* * @param description * The description of the version. * @return Returns a reference to this object so that method calls can be chained together. */ Builder description(String description); /** *

* The date that the version was created, in ISO 8601 format. For example, * 2018-11-27T15:10:45.123+0000. *

* * @param createdDate * The date that the version was created, in ISO 8601 format. For example, * 2018-11-27T15:10:45.123+0000. * @return Returns a reference to this object so that method calls can be chained together. */ Builder createdDate(String createdDate); /** *

* The layer's compatible runtimes. *

* * @param compatibleRuntimes * The layer's compatible runtimes. * @return Returns a reference to this object so that method calls can be chained together. */ Builder compatibleRuntimesWithStrings(Collection compatibleRuntimes); /** *

* The layer's compatible runtimes. *

* * @param compatibleRuntimes * The layer's compatible runtimes. * @return Returns a reference to this object so that method calls can be chained together. */ Builder compatibleRuntimesWithStrings(String... compatibleRuntimes); /** *

* The layer's compatible runtimes. *

* * @param compatibleRuntimes * The layer's compatible runtimes. * @return Returns a reference to this object so that method calls can be chained together. */ Builder compatibleRuntimes(Collection compatibleRuntimes); /** *

* The layer's compatible runtimes. *

* * @param compatibleRuntimes * The layer's compatible runtimes. * @return Returns a reference to this object so that method calls can be chained together. */ Builder compatibleRuntimes(Runtime... compatibleRuntimes); /** *

* The layer's open-source license. *

* * @param licenseInfo * The layer's open-source license. * @return Returns a reference to this object so that method calls can be chained together. */ Builder licenseInfo(String licenseInfo); } static final class BuilderImpl implements Builder { private String layerVersionArn; private Long version; private String description; private String createdDate; private List compatibleRuntimes = DefaultSdkAutoConstructList.getInstance(); private String licenseInfo; private BuilderImpl() { } private BuilderImpl(LayerVersionsListItem model) { layerVersionArn(model.layerVersionArn); version(model.version); description(model.description); createdDate(model.createdDate); compatibleRuntimesWithStrings(model.compatibleRuntimes); licenseInfo(model.licenseInfo); } public final String getLayerVersionArn() { return layerVersionArn; } @Override public final Builder layerVersionArn(String layerVersionArn) { this.layerVersionArn = layerVersionArn; return this; } public final void setLayerVersionArn(String layerVersionArn) { this.layerVersionArn = layerVersionArn; } public final Long getVersion() { return version; } @Override public final Builder version(Long version) { this.version = version; return this; } public final void setVersion(Long version) { this.version = version; } public final String getDescription() { return description; } @Override public final Builder description(String description) { this.description = description; return this; } public final void setDescription(String description) { this.description = description; } public final String getCreatedDate() { return createdDate; } @Override public final Builder createdDate(String createdDate) { this.createdDate = createdDate; return this; } public final void setCreatedDate(String createdDate) { this.createdDate = createdDate; } public final Collection getCompatibleRuntimesAsStrings() { return compatibleRuntimes; } @Override public final Builder compatibleRuntimesWithStrings(Collection compatibleRuntimes) { this.compatibleRuntimes = CompatibleRuntimesCopier.copy(compatibleRuntimes); return this; } @Override @SafeVarargs public final Builder compatibleRuntimesWithStrings(String... compatibleRuntimes) { compatibleRuntimesWithStrings(Arrays.asList(compatibleRuntimes)); return this; } @Override public final Builder compatibleRuntimes(Collection compatibleRuntimes) { this.compatibleRuntimes = CompatibleRuntimesCopier.copyEnumToString(compatibleRuntimes); return this; } @Override @SafeVarargs public final Builder compatibleRuntimes(Runtime... compatibleRuntimes) { compatibleRuntimes(Arrays.asList(compatibleRuntimes)); return this; } public final void setCompatibleRuntimesWithStrings(Collection compatibleRuntimes) { this.compatibleRuntimes = CompatibleRuntimesCopier.copy(compatibleRuntimes); } public final String getLicenseInfo() { return licenseInfo; } @Override public final Builder licenseInfo(String licenseInfo) { this.licenseInfo = licenseInfo; return this; } public final void setLicenseInfo(String licenseInfo) { this.licenseInfo = licenseInfo; } @Override public LayerVersionsListItem build() { return new LayerVersionsListItem(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy