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

software.amazon.awssdk.services.iam.model.ServerCertificateMetadata Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS IAM module holds the client classes that are used for communicating with AWS Identity and Access Management Service

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.iam.model;

import java.io.Serializable;
import java.time.Instant;
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;

/**
 * 

* Contains information about a server certificate without its certificate body, certificate chain, and private key. *

*

* This data type is used as a response element in the UploadServerCertificate and ListServerCertificates * operations. *

*/ @Generated("software.amazon.awssdk:codegen") public final class ServerCertificateMetadata implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField PATH_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Path") .getter(getter(ServerCertificateMetadata::path)).setter(setter(Builder::path)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Path").build()).build(); private static final SdkField SERVER_CERTIFICATE_NAME_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("ServerCertificateName").getter(getter(ServerCertificateMetadata::serverCertificateName)) .setter(setter(Builder::serverCertificateName)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ServerCertificateName").build()) .build(); private static final SdkField SERVER_CERTIFICATE_ID_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("ServerCertificateId").getter(getter(ServerCertificateMetadata::serverCertificateId)) .setter(setter(Builder::serverCertificateId)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ServerCertificateId").build()) .build(); private static final SdkField ARN_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Arn") .getter(getter(ServerCertificateMetadata::arn)).setter(setter(Builder::arn)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Arn").build()).build(); private static final SdkField UPLOAD_DATE_FIELD = SdkField. builder(MarshallingType.INSTANT) .memberName("UploadDate").getter(getter(ServerCertificateMetadata::uploadDate)).setter(setter(Builder::uploadDate)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("UploadDate").build()).build(); private static final SdkField EXPIRATION_FIELD = SdkField. builder(MarshallingType.INSTANT) .memberName("Expiration").getter(getter(ServerCertificateMetadata::expiration)).setter(setter(Builder::expiration)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Expiration").build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(PATH_FIELD, SERVER_CERTIFICATE_NAME_FIELD, SERVER_CERTIFICATE_ID_FIELD, ARN_FIELD, UPLOAD_DATE_FIELD, EXPIRATION_FIELD)); private static final long serialVersionUID = 1L; private final String path; private final String serverCertificateName; private final String serverCertificateId; private final String arn; private final Instant uploadDate; private final Instant expiration; private ServerCertificateMetadata(BuilderImpl builder) { this.path = builder.path; this.serverCertificateName = builder.serverCertificateName; this.serverCertificateId = builder.serverCertificateId; this.arn = builder.arn; this.uploadDate = builder.uploadDate; this.expiration = builder.expiration; } /** *

* The path to the server certificate. For more information about paths, see IAM identifiers in the IAM * User Guide. *

* * @return The path to the server certificate. For more information about paths, see IAM identifiers in the * IAM User Guide. */ public final String path() { return path; } /** *

* The name that identifies the server certificate. *

* * @return The name that identifies the server certificate. */ public final String serverCertificateName() { return serverCertificateName; } /** *

* The stable and unique string identifying the server certificate. For more information about IDs, see IAM identifiers in the IAM * User Guide. *

* * @return The stable and unique string identifying the server certificate. For more information about IDs, see IAM identifiers in the * IAM User Guide. */ public final String serverCertificateId() { return serverCertificateId; } /** *

* The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and how to use * them in policies, see IAM * identifiers in the IAM User Guide. *

* * @return The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and how * to use them in policies, see IAM identifiers in the * IAM User Guide. */ public final String arn() { return arn; } /** *

* The date when the server certificate was uploaded. *

* * @return The date when the server certificate was uploaded. */ public final Instant uploadDate() { return uploadDate; } /** *

* The date on which the certificate is set to expire. *

* * @return The date on which the certificate is set to expire. */ public final Instant expiration() { return expiration; } @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(path()); hashCode = 31 * hashCode + Objects.hashCode(serverCertificateName()); hashCode = 31 * hashCode + Objects.hashCode(serverCertificateId()); hashCode = 31 * hashCode + Objects.hashCode(arn()); hashCode = 31 * hashCode + Objects.hashCode(uploadDate()); hashCode = 31 * hashCode + Objects.hashCode(expiration()); 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 ServerCertificateMetadata)) { return false; } ServerCertificateMetadata other = (ServerCertificateMetadata) obj; return Objects.equals(path(), other.path()) && Objects.equals(serverCertificateName(), other.serverCertificateName()) && Objects.equals(serverCertificateId(), other.serverCertificateId()) && Objects.equals(arn(), other.arn()) && Objects.equals(uploadDate(), other.uploadDate()) && Objects.equals(expiration(), other.expiration()); } /** * 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("ServerCertificateMetadata").add("Path", path()) .add("ServerCertificateName", serverCertificateName()).add("ServerCertificateId", serverCertificateId()) .add("Arn", arn()).add("UploadDate", uploadDate()).add("Expiration", expiration()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "Path": return Optional.ofNullable(clazz.cast(path())); case "ServerCertificateName": return Optional.ofNullable(clazz.cast(serverCertificateName())); case "ServerCertificateId": return Optional.ofNullable(clazz.cast(serverCertificateId())); case "Arn": return Optional.ofNullable(clazz.cast(arn())); case "UploadDate": return Optional.ofNullable(clazz.cast(uploadDate())); case "Expiration": return Optional.ofNullable(clazz.cast(expiration())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((ServerCertificateMetadata) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* The path to the server certificate. For more information about paths, see IAM identifiers in the * IAM User Guide. *

* * @param path * The path to the server certificate. For more information about paths, see IAM identifiers in * the IAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ Builder path(String path); /** *

* The name that identifies the server certificate. *

* * @param serverCertificateName * The name that identifies the server certificate. * @return Returns a reference to this object so that method calls can be chained together. */ Builder serverCertificateName(String serverCertificateName); /** *

* The stable and unique string identifying the server certificate. For more information about IDs, see IAM identifiers in the * IAM User Guide. *

* * @param serverCertificateId * The stable and unique string identifying the server certificate. For more information about IDs, see * IAM identifiers * in the IAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ Builder serverCertificateId(String serverCertificateId); /** *

* The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and how to * use them in policies, see IAM identifiers in the * IAM User Guide. *

* * @param arn * The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and * how to use them in policies, see IAM identifiers in * the IAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ Builder arn(String arn); /** *

* The date when the server certificate was uploaded. *

* * @param uploadDate * The date when the server certificate was uploaded. * @return Returns a reference to this object so that method calls can be chained together. */ Builder uploadDate(Instant uploadDate); /** *

* The date on which the certificate is set to expire. *

* * @param expiration * The date on which the certificate is set to expire. * @return Returns a reference to this object so that method calls can be chained together. */ Builder expiration(Instant expiration); } static final class BuilderImpl implements Builder { private String path; private String serverCertificateName; private String serverCertificateId; private String arn; private Instant uploadDate; private Instant expiration; private BuilderImpl() { } private BuilderImpl(ServerCertificateMetadata model) { path(model.path); serverCertificateName(model.serverCertificateName); serverCertificateId(model.serverCertificateId); arn(model.arn); uploadDate(model.uploadDate); expiration(model.expiration); } public final String getPath() { return path; } public final void setPath(String path) { this.path = path; } @Override public final Builder path(String path) { this.path = path; return this; } public final String getServerCertificateName() { return serverCertificateName; } public final void setServerCertificateName(String serverCertificateName) { this.serverCertificateName = serverCertificateName; } @Override public final Builder serverCertificateName(String serverCertificateName) { this.serverCertificateName = serverCertificateName; return this; } public final String getServerCertificateId() { return serverCertificateId; } public final void setServerCertificateId(String serverCertificateId) { this.serverCertificateId = serverCertificateId; } @Override public final Builder serverCertificateId(String serverCertificateId) { this.serverCertificateId = serverCertificateId; return this; } public final String getArn() { return arn; } public final void setArn(String arn) { this.arn = arn; } @Override public final Builder arn(String arn) { this.arn = arn; return this; } public final Instant getUploadDate() { return uploadDate; } public final void setUploadDate(Instant uploadDate) { this.uploadDate = uploadDate; } @Override public final Builder uploadDate(Instant uploadDate) { this.uploadDate = uploadDate; return this; } public final Instant getExpiration() { return expiration; } public final void setExpiration(Instant expiration) { this.expiration = expiration; } @Override public final Builder expiration(Instant expiration) { this.expiration = expiration; return this; } @Override public ServerCertificateMetadata build() { return new ServerCertificateMetadata(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy