All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
software.amazon.awssdk.services.apigateway.model.GenerateClientCertificateResponse Maven / Gradle / Ivy
Go to download
The AWS Java SDK for Amazon API Gateway module holds the client classes that are used for communicating
with Amazon API
Gateway
/*
* 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.apigateway.model;
import java.time.Instant;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
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.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructMap;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*
* Represents a client certificate used to configure client-side SSL authentication while sending requests to the
* integration endpoint.
*
*/
@Generated("software.amazon.awssdk:codegen")
public final class GenerateClientCertificateResponse extends ApiGatewayResponse implements
ToCopyableBuilder {
private static final SdkField CLIENT_CERTIFICATE_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("clientCertificateId").getter(getter(GenerateClientCertificateResponse::clientCertificateId))
.setter(setter(Builder::clientCertificateId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("clientCertificateId").build())
.build();
private static final SdkField DESCRIPTION_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("description").getter(getter(GenerateClientCertificateResponse::description))
.setter(setter(Builder::description))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("description").build()).build();
private static final SdkField PEM_ENCODED_CERTIFICATE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("pemEncodedCertificate").getter(getter(GenerateClientCertificateResponse::pemEncodedCertificate))
.setter(setter(Builder::pemEncodedCertificate))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("pemEncodedCertificate").build())
.build();
private static final SdkField CREATED_DATE_FIELD = SdkField. builder(MarshallingType.INSTANT)
.memberName("createdDate").getter(getter(GenerateClientCertificateResponse::createdDate))
.setter(setter(Builder::createdDate))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("createdDate").build()).build();
private static final SdkField EXPIRATION_DATE_FIELD = SdkField. builder(MarshallingType.INSTANT)
.memberName("expirationDate").getter(getter(GenerateClientCertificateResponse::expirationDate))
.setter(setter(Builder::expirationDate))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("expirationDate").build()).build();
private static final SdkField> TAGS_FIELD = SdkField
.> builder(MarshallingType.MAP)
.memberName("tags")
.getter(getter(GenerateClientCertificateResponse::tags))
.setter(setter(Builder::tags))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("tags").build(),
MapTrait.builder()
.keyLocationName("key")
.valueLocationName("value")
.valueFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("value").build()).build()).build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(CLIENT_CERTIFICATE_ID_FIELD,
DESCRIPTION_FIELD, PEM_ENCODED_CERTIFICATE_FIELD, CREATED_DATE_FIELD, EXPIRATION_DATE_FIELD, TAGS_FIELD));
private final String clientCertificateId;
private final String description;
private final String pemEncodedCertificate;
private final Instant createdDate;
private final Instant expirationDate;
private final Map tags;
private GenerateClientCertificateResponse(BuilderImpl builder) {
super(builder);
this.clientCertificateId = builder.clientCertificateId;
this.description = builder.description;
this.pemEncodedCertificate = builder.pemEncodedCertificate;
this.createdDate = builder.createdDate;
this.expirationDate = builder.expirationDate;
this.tags = builder.tags;
}
/**
*
* The identifier of the client certificate.
*
*
* @return The identifier of the client certificate.
*/
public final String clientCertificateId() {
return clientCertificateId;
}
/**
*
* The description of the client certificate.
*
*
* @return The description of the client certificate.
*/
public final String description() {
return description;
}
/**
*
* The PEM-encoded public key of the client certificate, which can be used to configure certificate authentication
* in the integration endpoint .
*
*
* @return The PEM-encoded public key of the client certificate, which can be used to configure certificate
* authentication in the integration endpoint .
*/
public final String pemEncodedCertificate() {
return pemEncodedCertificate;
}
/**
*
* The timestamp when the client certificate was created.
*
*
* @return The timestamp when the client certificate was created.
*/
public final Instant createdDate() {
return createdDate;
}
/**
*
* The timestamp when the client certificate will expire.
*
*
* @return The timestamp when the client certificate will expire.
*/
public final Instant expirationDate() {
return expirationDate;
}
/**
* For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that
* the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). This is useful
* because the SDK will never return a null collection or map, but you may need to differentiate between the service
* returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true
* if a value for the property was specified in the request builder, and false if a value was not specified.
*/
public final boolean hasTags() {
return tags != null && !(tags instanceof SdkAutoConstructMap);
}
/**
*
* The collection of tags. Each tag element is associated with a given resource.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasTags} method.
*
*
* @return The collection of tags. Each tag element is associated with a given resource.
*/
public final Map tags() {
return tags;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public final int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + super.hashCode();
hashCode = 31 * hashCode + Objects.hashCode(clientCertificateId());
hashCode = 31 * hashCode + Objects.hashCode(description());
hashCode = 31 * hashCode + Objects.hashCode(pemEncodedCertificate());
hashCode = 31 * hashCode + Objects.hashCode(createdDate());
hashCode = 31 * hashCode + Objects.hashCode(expirationDate());
hashCode = 31 * hashCode + Objects.hashCode(hasTags() ? tags() : null);
return hashCode;
}
@Override
public final boolean equals(Object obj) {
return super.equals(obj) && equalsBySdkFields(obj);
}
@Override
public final boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof GenerateClientCertificateResponse)) {
return false;
}
GenerateClientCertificateResponse other = (GenerateClientCertificateResponse) obj;
return Objects.equals(clientCertificateId(), other.clientCertificateId())
&& Objects.equals(description(), other.description())
&& Objects.equals(pemEncodedCertificate(), other.pemEncodedCertificate())
&& Objects.equals(createdDate(), other.createdDate()) && Objects.equals(expirationDate(), other.expirationDate())
&& hasTags() == other.hasTags() && Objects.equals(tags(), other.tags());
}
/**
* 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("GenerateClientCertificateResponse").add("ClientCertificateId", clientCertificateId())
.add("Description", description()).add("PemEncodedCertificate", pemEncodedCertificate())
.add("CreatedDate", createdDate()).add("ExpirationDate", expirationDate()).add("Tags", hasTags() ? tags() : null)
.build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "clientCertificateId":
return Optional.ofNullable(clazz.cast(clientCertificateId()));
case "description":
return Optional.ofNullable(clazz.cast(description()));
case "pemEncodedCertificate":
return Optional.ofNullable(clazz.cast(pemEncodedCertificate()));
case "createdDate":
return Optional.ofNullable(clazz.cast(createdDate()));
case "expirationDate":
return Optional.ofNullable(clazz.cast(expirationDate()));
case "tags":
return Optional.ofNullable(clazz.cast(tags()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function getter(Function g) {
return obj -> g.apply((GenerateClientCertificateResponse) obj);
}
private static BiConsumer setter(BiConsumer s) {
return (obj, val) -> s.accept((Builder) obj, val);
}
public interface Builder extends ApiGatewayResponse.Builder, SdkPojo,
CopyableBuilder {
/**
*
* The identifier of the client certificate.
*
*
* @param clientCertificateId
* The identifier of the client certificate.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder clientCertificateId(String clientCertificateId);
/**
*
* The description of the client certificate.
*
*
* @param description
* The description of the client certificate.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder description(String description);
/**
*
* The PEM-encoded public key of the client certificate, which can be used to configure certificate
* authentication in the integration endpoint .
*
*
* @param pemEncodedCertificate
* The PEM-encoded public key of the client certificate, which can be used to configure certificate
* authentication in the integration endpoint .
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder pemEncodedCertificate(String pemEncodedCertificate);
/**
*
* The timestamp when the client certificate was created.
*
*
* @param createdDate
* The timestamp when the client certificate was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder createdDate(Instant createdDate);
/**
*
* The timestamp when the client certificate will expire.
*
*
* @param expirationDate
* The timestamp when the client certificate will expire.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder expirationDate(Instant expirationDate);
/**
*
* The collection of tags. Each tag element is associated with a given resource.
*
*
* @param tags
* The collection of tags. Each tag element is associated with a given resource.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tags(Map tags);
}
static final class BuilderImpl extends ApiGatewayResponse.BuilderImpl implements Builder {
private String clientCertificateId;
private String description;
private String pemEncodedCertificate;
private Instant createdDate;
private Instant expirationDate;
private Map tags = DefaultSdkAutoConstructMap.getInstance();
private BuilderImpl() {
}
private BuilderImpl(GenerateClientCertificateResponse model) {
super(model);
clientCertificateId(model.clientCertificateId);
description(model.description);
pemEncodedCertificate(model.pemEncodedCertificate);
createdDate(model.createdDate);
expirationDate(model.expirationDate);
tags(model.tags);
}
public final String getClientCertificateId() {
return clientCertificateId;
}
public final void setClientCertificateId(String clientCertificateId) {
this.clientCertificateId = clientCertificateId;
}
@Override
public final Builder clientCertificateId(String clientCertificateId) {
this.clientCertificateId = clientCertificateId;
return this;
}
public final String getDescription() {
return description;
}
public final void setDescription(String description) {
this.description = description;
}
@Override
public final Builder description(String description) {
this.description = description;
return this;
}
public final String getPemEncodedCertificate() {
return pemEncodedCertificate;
}
public final void setPemEncodedCertificate(String pemEncodedCertificate) {
this.pemEncodedCertificate = pemEncodedCertificate;
}
@Override
public final Builder pemEncodedCertificate(String pemEncodedCertificate) {
this.pemEncodedCertificate = pemEncodedCertificate;
return this;
}
public final Instant getCreatedDate() {
return createdDate;
}
public final void setCreatedDate(Instant createdDate) {
this.createdDate = createdDate;
}
@Override
public final Builder createdDate(Instant createdDate) {
this.createdDate = createdDate;
return this;
}
public final Instant getExpirationDate() {
return expirationDate;
}
public final void setExpirationDate(Instant expirationDate) {
this.expirationDate = expirationDate;
}
@Override
public final Builder expirationDate(Instant expirationDate) {
this.expirationDate = expirationDate;
return this;
}
public final Map getTags() {
if (tags instanceof SdkAutoConstructMap) {
return null;
}
return tags;
}
public final void setTags(Map tags) {
this.tags = MapOfStringToStringCopier.copy(tags);
}
@Override
public final Builder tags(Map tags) {
this.tags = MapOfStringToStringCopier.copy(tags);
return this;
}
@Override
public GenerateClientCertificateResponse build() {
return new GenerateClientCertificateResponse(this);
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
}
}