com.amazonaws.services.ec2.model.CreateVerifiedAccessEndpointRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-ec2 Show documentation
/*
* Copyright 2019-2024 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 com.amazonaws.services.ec2.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
import com.amazonaws.services.ec2.model.transform.CreateVerifiedAccessEndpointRequestMarshaller;
/**
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateVerifiedAccessEndpointRequest extends AmazonWebServiceRequest implements Serializable, Cloneable,
DryRunSupportedRequest {
/**
*
* The ID of the Verified Access group to associate the endpoint with.
*
*/
private String verifiedAccessGroupId;
/**
*
* The type of Verified Access endpoint to create.
*
*/
private String endpointType;
/**
*
* The type of attachment.
*
*/
private String attachmentType;
/**
*
* The ARN of the public TLS/SSL certificate in Amazon Web Services Certificate Manager to associate with the
* endpoint. The CN in the certificate must match the DNS name your end users will use to reach your application.
*
*/
private String domainCertificateArn;
/**
*
* The DNS name for users to reach your application.
*
*/
private String applicationDomain;
/**
*
* A custom identifier that is prepended to the DNS name that is generated for the endpoint.
*
*/
private String endpointDomainPrefix;
/**
*
* The IDs of the security groups to associate with the Verified Access endpoint. Required if
* AttachmentType
is set to vpc
.
*
*/
private com.amazonaws.internal.SdkInternalList securityGroupIds;
/**
*
* The load balancer details. This parameter is required if the endpoint type is load-balancer
.
*
*/
private CreateVerifiedAccessEndpointLoadBalancerOptions loadBalancerOptions;
/**
*
* The network interface details. This parameter is required if the endpoint type is network-interface
.
*
*/
private CreateVerifiedAccessEndpointEniOptions networkInterfaceOptions;
/**
*
* A description for the Verified Access endpoint.
*
*/
private String description;
/**
*
* The Verified Access policy document.
*
*/
private String policyDocument;
/**
*
* The tags to assign to the Verified Access endpoint.
*
*/
private com.amazonaws.internal.SdkInternalList tagSpecifications;
/**
*
* A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more
* information, see Ensuring
* Idempotency.
*
*/
private String clientToken;
/**
*
* The options for server side encryption.
*
*/
private VerifiedAccessSseSpecificationRequest sseSpecification;
/**
*
* The ID of the Verified Access group to associate the endpoint with.
*
*
* @param verifiedAccessGroupId
* The ID of the Verified Access group to associate the endpoint with.
*/
public void setVerifiedAccessGroupId(String verifiedAccessGroupId) {
this.verifiedAccessGroupId = verifiedAccessGroupId;
}
/**
*
* The ID of the Verified Access group to associate the endpoint with.
*
*
* @return The ID of the Verified Access group to associate the endpoint with.
*/
public String getVerifiedAccessGroupId() {
return this.verifiedAccessGroupId;
}
/**
*
* The ID of the Verified Access group to associate the endpoint with.
*
*
* @param verifiedAccessGroupId
* The ID of the Verified Access group to associate the endpoint with.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withVerifiedAccessGroupId(String verifiedAccessGroupId) {
setVerifiedAccessGroupId(verifiedAccessGroupId);
return this;
}
/**
*
* The type of Verified Access endpoint to create.
*
*
* @param endpointType
* The type of Verified Access endpoint to create.
* @see VerifiedAccessEndpointType
*/
public void setEndpointType(String endpointType) {
this.endpointType = endpointType;
}
/**
*
* The type of Verified Access endpoint to create.
*
*
* @return The type of Verified Access endpoint to create.
* @see VerifiedAccessEndpointType
*/
public String getEndpointType() {
return this.endpointType;
}
/**
*
* The type of Verified Access endpoint to create.
*
*
* @param endpointType
* The type of Verified Access endpoint to create.
* @return Returns a reference to this object so that method calls can be chained together.
* @see VerifiedAccessEndpointType
*/
public CreateVerifiedAccessEndpointRequest withEndpointType(String endpointType) {
setEndpointType(endpointType);
return this;
}
/**
*
* The type of Verified Access endpoint to create.
*
*
* @param endpointType
* The type of Verified Access endpoint to create.
* @return Returns a reference to this object so that method calls can be chained together.
* @see VerifiedAccessEndpointType
*/
public CreateVerifiedAccessEndpointRequest withEndpointType(VerifiedAccessEndpointType endpointType) {
this.endpointType = endpointType.toString();
return this;
}
/**
*
* The type of attachment.
*
*
* @param attachmentType
* The type of attachment.
* @see VerifiedAccessEndpointAttachmentType
*/
public void setAttachmentType(String attachmentType) {
this.attachmentType = attachmentType;
}
/**
*
* The type of attachment.
*
*
* @return The type of attachment.
* @see VerifiedAccessEndpointAttachmentType
*/
public String getAttachmentType() {
return this.attachmentType;
}
/**
*
* The type of attachment.
*
*
* @param attachmentType
* The type of attachment.
* @return Returns a reference to this object so that method calls can be chained together.
* @see VerifiedAccessEndpointAttachmentType
*/
public CreateVerifiedAccessEndpointRequest withAttachmentType(String attachmentType) {
setAttachmentType(attachmentType);
return this;
}
/**
*
* The type of attachment.
*
*
* @param attachmentType
* The type of attachment.
* @return Returns a reference to this object so that method calls can be chained together.
* @see VerifiedAccessEndpointAttachmentType
*/
public CreateVerifiedAccessEndpointRequest withAttachmentType(VerifiedAccessEndpointAttachmentType attachmentType) {
this.attachmentType = attachmentType.toString();
return this;
}
/**
*
* The ARN of the public TLS/SSL certificate in Amazon Web Services Certificate Manager to associate with the
* endpoint. The CN in the certificate must match the DNS name your end users will use to reach your application.
*
*
* @param domainCertificateArn
* The ARN of the public TLS/SSL certificate in Amazon Web Services Certificate Manager to associate with the
* endpoint. The CN in the certificate must match the DNS name your end users will use to reach your
* application.
*/
public void setDomainCertificateArn(String domainCertificateArn) {
this.domainCertificateArn = domainCertificateArn;
}
/**
*
* The ARN of the public TLS/SSL certificate in Amazon Web Services Certificate Manager to associate with the
* endpoint. The CN in the certificate must match the DNS name your end users will use to reach your application.
*
*
* @return The ARN of the public TLS/SSL certificate in Amazon Web Services Certificate Manager to associate with
* the endpoint. The CN in the certificate must match the DNS name your end users will use to reach your
* application.
*/
public String getDomainCertificateArn() {
return this.domainCertificateArn;
}
/**
*
* The ARN of the public TLS/SSL certificate in Amazon Web Services Certificate Manager to associate with the
* endpoint. The CN in the certificate must match the DNS name your end users will use to reach your application.
*
*
* @param domainCertificateArn
* The ARN of the public TLS/SSL certificate in Amazon Web Services Certificate Manager to associate with the
* endpoint. The CN in the certificate must match the DNS name your end users will use to reach your
* application.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withDomainCertificateArn(String domainCertificateArn) {
setDomainCertificateArn(domainCertificateArn);
return this;
}
/**
*
* The DNS name for users to reach your application.
*
*
* @param applicationDomain
* The DNS name for users to reach your application.
*/
public void setApplicationDomain(String applicationDomain) {
this.applicationDomain = applicationDomain;
}
/**
*
* The DNS name for users to reach your application.
*
*
* @return The DNS name for users to reach your application.
*/
public String getApplicationDomain() {
return this.applicationDomain;
}
/**
*
* The DNS name for users to reach your application.
*
*
* @param applicationDomain
* The DNS name for users to reach your application.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withApplicationDomain(String applicationDomain) {
setApplicationDomain(applicationDomain);
return this;
}
/**
*
* A custom identifier that is prepended to the DNS name that is generated for the endpoint.
*
*
* @param endpointDomainPrefix
* A custom identifier that is prepended to the DNS name that is generated for the endpoint.
*/
public void setEndpointDomainPrefix(String endpointDomainPrefix) {
this.endpointDomainPrefix = endpointDomainPrefix;
}
/**
*
* A custom identifier that is prepended to the DNS name that is generated for the endpoint.
*
*
* @return A custom identifier that is prepended to the DNS name that is generated for the endpoint.
*/
public String getEndpointDomainPrefix() {
return this.endpointDomainPrefix;
}
/**
*
* A custom identifier that is prepended to the DNS name that is generated for the endpoint.
*
*
* @param endpointDomainPrefix
* A custom identifier that is prepended to the DNS name that is generated for the endpoint.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withEndpointDomainPrefix(String endpointDomainPrefix) {
setEndpointDomainPrefix(endpointDomainPrefix);
return this;
}
/**
*
* The IDs of the security groups to associate with the Verified Access endpoint. Required if
* AttachmentType
is set to vpc
.
*
*
* @return The IDs of the security groups to associate with the Verified Access endpoint. Required if
* AttachmentType
is set to vpc
.
*/
public java.util.List getSecurityGroupIds() {
if (securityGroupIds == null) {
securityGroupIds = new com.amazonaws.internal.SdkInternalList();
}
return securityGroupIds;
}
/**
*
* The IDs of the security groups to associate with the Verified Access endpoint. Required if
* AttachmentType
is set to vpc
.
*
*
* @param securityGroupIds
* The IDs of the security groups to associate with the Verified Access endpoint. Required if
* AttachmentType
is set to vpc
.
*/
public void setSecurityGroupIds(java.util.Collection securityGroupIds) {
if (securityGroupIds == null) {
this.securityGroupIds = null;
return;
}
this.securityGroupIds = new com.amazonaws.internal.SdkInternalList(securityGroupIds);
}
/**
*
* The IDs of the security groups to associate with the Verified Access endpoint. Required if
* AttachmentType
is set to vpc
.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSecurityGroupIds(java.util.Collection)} or {@link #withSecurityGroupIds(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param securityGroupIds
* The IDs of the security groups to associate with the Verified Access endpoint. Required if
* AttachmentType
is set to vpc
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withSecurityGroupIds(String... securityGroupIds) {
if (this.securityGroupIds == null) {
setSecurityGroupIds(new com.amazonaws.internal.SdkInternalList(securityGroupIds.length));
}
for (String ele : securityGroupIds) {
this.securityGroupIds.add(ele);
}
return this;
}
/**
*
* The IDs of the security groups to associate with the Verified Access endpoint. Required if
* AttachmentType
is set to vpc
.
*
*
* @param securityGroupIds
* The IDs of the security groups to associate with the Verified Access endpoint. Required if
* AttachmentType
is set to vpc
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withSecurityGroupIds(java.util.Collection securityGroupIds) {
setSecurityGroupIds(securityGroupIds);
return this;
}
/**
*
* The load balancer details. This parameter is required if the endpoint type is load-balancer
.
*
*
* @param loadBalancerOptions
* The load balancer details. This parameter is required if the endpoint type is load-balancer
.
*/
public void setLoadBalancerOptions(CreateVerifiedAccessEndpointLoadBalancerOptions loadBalancerOptions) {
this.loadBalancerOptions = loadBalancerOptions;
}
/**
*
* The load balancer details. This parameter is required if the endpoint type is load-balancer
.
*
*
* @return The load balancer details. This parameter is required if the endpoint type is load-balancer
.
*/
public CreateVerifiedAccessEndpointLoadBalancerOptions getLoadBalancerOptions() {
return this.loadBalancerOptions;
}
/**
*
* The load balancer details. This parameter is required if the endpoint type is load-balancer
.
*
*
* @param loadBalancerOptions
* The load balancer details. This parameter is required if the endpoint type is load-balancer
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withLoadBalancerOptions(CreateVerifiedAccessEndpointLoadBalancerOptions loadBalancerOptions) {
setLoadBalancerOptions(loadBalancerOptions);
return this;
}
/**
*
* The network interface details. This parameter is required if the endpoint type is network-interface
.
*
*
* @param networkInterfaceOptions
* The network interface details. This parameter is required if the endpoint type is
* network-interface
.
*/
public void setNetworkInterfaceOptions(CreateVerifiedAccessEndpointEniOptions networkInterfaceOptions) {
this.networkInterfaceOptions = networkInterfaceOptions;
}
/**
*
* The network interface details. This parameter is required if the endpoint type is network-interface
.
*
*
* @return The network interface details. This parameter is required if the endpoint type is
* network-interface
.
*/
public CreateVerifiedAccessEndpointEniOptions getNetworkInterfaceOptions() {
return this.networkInterfaceOptions;
}
/**
*
* The network interface details. This parameter is required if the endpoint type is network-interface
.
*
*
* @param networkInterfaceOptions
* The network interface details. This parameter is required if the endpoint type is
* network-interface
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withNetworkInterfaceOptions(CreateVerifiedAccessEndpointEniOptions networkInterfaceOptions) {
setNetworkInterfaceOptions(networkInterfaceOptions);
return this;
}
/**
*
* A description for the Verified Access endpoint.
*
*
* @param description
* A description for the Verified Access endpoint.
*/
public void setDescription(String description) {
this.description = description;
}
/**
*
* A description for the Verified Access endpoint.
*
*
* @return A description for the Verified Access endpoint.
*/
public String getDescription() {
return this.description;
}
/**
*
* A description for the Verified Access endpoint.
*
*
* @param description
* A description for the Verified Access endpoint.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withDescription(String description) {
setDescription(description);
return this;
}
/**
*
* The Verified Access policy document.
*
*
* @param policyDocument
* The Verified Access policy document.
*/
public void setPolicyDocument(String policyDocument) {
this.policyDocument = policyDocument;
}
/**
*
* The Verified Access policy document.
*
*
* @return The Verified Access policy document.
*/
public String getPolicyDocument() {
return this.policyDocument;
}
/**
*
* The Verified Access policy document.
*
*
* @param policyDocument
* The Verified Access policy document.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withPolicyDocument(String policyDocument) {
setPolicyDocument(policyDocument);
return this;
}
/**
*
* The tags to assign to the Verified Access endpoint.
*
*
* @return The tags to assign to the Verified Access endpoint.
*/
public java.util.List getTagSpecifications() {
if (tagSpecifications == null) {
tagSpecifications = new com.amazonaws.internal.SdkInternalList();
}
return tagSpecifications;
}
/**
*
* The tags to assign to the Verified Access endpoint.
*
*
* @param tagSpecifications
* The tags to assign to the Verified Access endpoint.
*/
public void setTagSpecifications(java.util.Collection tagSpecifications) {
if (tagSpecifications == null) {
this.tagSpecifications = null;
return;
}
this.tagSpecifications = new com.amazonaws.internal.SdkInternalList(tagSpecifications);
}
/**
*
* The tags to assign to the Verified Access endpoint.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setTagSpecifications(java.util.Collection)} or {@link #withTagSpecifications(java.util.Collection)} if
* you want to override the existing values.
*
*
* @param tagSpecifications
* The tags to assign to the Verified Access endpoint.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withTagSpecifications(TagSpecification... tagSpecifications) {
if (this.tagSpecifications == null) {
setTagSpecifications(new com.amazonaws.internal.SdkInternalList(tagSpecifications.length));
}
for (TagSpecification ele : tagSpecifications) {
this.tagSpecifications.add(ele);
}
return this;
}
/**
*
* The tags to assign to the Verified Access endpoint.
*
*
* @param tagSpecifications
* The tags to assign to the Verified Access endpoint.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withTagSpecifications(java.util.Collection tagSpecifications) {
setTagSpecifications(tagSpecifications);
return this;
}
/**
*
* A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more
* information, see Ensuring
* Idempotency.
*
*
* @param clientToken
* A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For
* more information, see Ensuring
* Idempotency.
*/
public void setClientToken(String clientToken) {
this.clientToken = clientToken;
}
/**
*
* A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more
* information, see Ensuring
* Idempotency.
*
*
* @return A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For
* more information, see Ensuring
* Idempotency.
*/
public String getClientToken() {
return this.clientToken;
}
/**
*
* A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more
* information, see Ensuring
* Idempotency.
*
*
* @param clientToken
* A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For
* more information, see Ensuring
* Idempotency.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withClientToken(String clientToken) {
setClientToken(clientToken);
return this;
}
/**
*
* The options for server side encryption.
*
*
* @param sseSpecification
* The options for server side encryption.
*/
public void setSseSpecification(VerifiedAccessSseSpecificationRequest sseSpecification) {
this.sseSpecification = sseSpecification;
}
/**
*
* The options for server side encryption.
*
*
* @return The options for server side encryption.
*/
public VerifiedAccessSseSpecificationRequest getSseSpecification() {
return this.sseSpecification;
}
/**
*
* The options for server side encryption.
*
*
* @param sseSpecification
* The options for server side encryption.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVerifiedAccessEndpointRequest withSseSpecification(VerifiedAccessSseSpecificationRequest sseSpecification) {
setSseSpecification(sseSpecification);
return this;
}
/**
* This method is intended for internal use only. Returns the marshaled request configured with additional
* parameters to enable operation dry-run.
*/
@Override
public Request getDryRunRequest() {
Request request = new CreateVerifiedAccessEndpointRequestMarshaller().marshall(this);
request.addParameter("DryRun", Boolean.toString(true));
return request;
}
/**
* 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.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getVerifiedAccessGroupId() != null)
sb.append("VerifiedAccessGroupId: ").append(getVerifiedAccessGroupId()).append(",");
if (getEndpointType() != null)
sb.append("EndpointType: ").append(getEndpointType()).append(",");
if (getAttachmentType() != null)
sb.append("AttachmentType: ").append(getAttachmentType()).append(",");
if (getDomainCertificateArn() != null)
sb.append("DomainCertificateArn: ").append(getDomainCertificateArn()).append(",");
if (getApplicationDomain() != null)
sb.append("ApplicationDomain: ").append(getApplicationDomain()).append(",");
if (getEndpointDomainPrefix() != null)
sb.append("EndpointDomainPrefix: ").append(getEndpointDomainPrefix()).append(",");
if (getSecurityGroupIds() != null)
sb.append("SecurityGroupIds: ").append(getSecurityGroupIds()).append(",");
if (getLoadBalancerOptions() != null)
sb.append("LoadBalancerOptions: ").append(getLoadBalancerOptions()).append(",");
if (getNetworkInterfaceOptions() != null)
sb.append("NetworkInterfaceOptions: ").append(getNetworkInterfaceOptions()).append(",");
if (getDescription() != null)
sb.append("Description: ").append(getDescription()).append(",");
if (getPolicyDocument() != null)
sb.append("PolicyDocument: ").append(getPolicyDocument()).append(",");
if (getTagSpecifications() != null)
sb.append("TagSpecifications: ").append(getTagSpecifications()).append(",");
if (getClientToken() != null)
sb.append("ClientToken: ").append(getClientToken()).append(",");
if (getSseSpecification() != null)
sb.append("SseSpecification: ").append(getSseSpecification());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateVerifiedAccessEndpointRequest == false)
return false;
CreateVerifiedAccessEndpointRequest other = (CreateVerifiedAccessEndpointRequest) obj;
if (other.getVerifiedAccessGroupId() == null ^ this.getVerifiedAccessGroupId() == null)
return false;
if (other.getVerifiedAccessGroupId() != null && other.getVerifiedAccessGroupId().equals(this.getVerifiedAccessGroupId()) == false)
return false;
if (other.getEndpointType() == null ^ this.getEndpointType() == null)
return false;
if (other.getEndpointType() != null && other.getEndpointType().equals(this.getEndpointType()) == false)
return false;
if (other.getAttachmentType() == null ^ this.getAttachmentType() == null)
return false;
if (other.getAttachmentType() != null && other.getAttachmentType().equals(this.getAttachmentType()) == false)
return false;
if (other.getDomainCertificateArn() == null ^ this.getDomainCertificateArn() == null)
return false;
if (other.getDomainCertificateArn() != null && other.getDomainCertificateArn().equals(this.getDomainCertificateArn()) == false)
return false;
if (other.getApplicationDomain() == null ^ this.getApplicationDomain() == null)
return false;
if (other.getApplicationDomain() != null && other.getApplicationDomain().equals(this.getApplicationDomain()) == false)
return false;
if (other.getEndpointDomainPrefix() == null ^ this.getEndpointDomainPrefix() == null)
return false;
if (other.getEndpointDomainPrefix() != null && other.getEndpointDomainPrefix().equals(this.getEndpointDomainPrefix()) == false)
return false;
if (other.getSecurityGroupIds() == null ^ this.getSecurityGroupIds() == null)
return false;
if (other.getSecurityGroupIds() != null && other.getSecurityGroupIds().equals(this.getSecurityGroupIds()) == false)
return false;
if (other.getLoadBalancerOptions() == null ^ this.getLoadBalancerOptions() == null)
return false;
if (other.getLoadBalancerOptions() != null && other.getLoadBalancerOptions().equals(this.getLoadBalancerOptions()) == false)
return false;
if (other.getNetworkInterfaceOptions() == null ^ this.getNetworkInterfaceOptions() == null)
return false;
if (other.getNetworkInterfaceOptions() != null && other.getNetworkInterfaceOptions().equals(this.getNetworkInterfaceOptions()) == false)
return false;
if (other.getDescription() == null ^ this.getDescription() == null)
return false;
if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false)
return false;
if (other.getPolicyDocument() == null ^ this.getPolicyDocument() == null)
return false;
if (other.getPolicyDocument() != null && other.getPolicyDocument().equals(this.getPolicyDocument()) == false)
return false;
if (other.getTagSpecifications() == null ^ this.getTagSpecifications() == null)
return false;
if (other.getTagSpecifications() != null && other.getTagSpecifications().equals(this.getTagSpecifications()) == false)
return false;
if (other.getClientToken() == null ^ this.getClientToken() == null)
return false;
if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false)
return false;
if (other.getSseSpecification() == null ^ this.getSseSpecification() == null)
return false;
if (other.getSseSpecification() != null && other.getSseSpecification().equals(this.getSseSpecification()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getVerifiedAccessGroupId() == null) ? 0 : getVerifiedAccessGroupId().hashCode());
hashCode = prime * hashCode + ((getEndpointType() == null) ? 0 : getEndpointType().hashCode());
hashCode = prime * hashCode + ((getAttachmentType() == null) ? 0 : getAttachmentType().hashCode());
hashCode = prime * hashCode + ((getDomainCertificateArn() == null) ? 0 : getDomainCertificateArn().hashCode());
hashCode = prime * hashCode + ((getApplicationDomain() == null) ? 0 : getApplicationDomain().hashCode());
hashCode = prime * hashCode + ((getEndpointDomainPrefix() == null) ? 0 : getEndpointDomainPrefix().hashCode());
hashCode = prime * hashCode + ((getSecurityGroupIds() == null) ? 0 : getSecurityGroupIds().hashCode());
hashCode = prime * hashCode + ((getLoadBalancerOptions() == null) ? 0 : getLoadBalancerOptions().hashCode());
hashCode = prime * hashCode + ((getNetworkInterfaceOptions() == null) ? 0 : getNetworkInterfaceOptions().hashCode());
hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
hashCode = prime * hashCode + ((getPolicyDocument() == null) ? 0 : getPolicyDocument().hashCode());
hashCode = prime * hashCode + ((getTagSpecifications() == null) ? 0 : getTagSpecifications().hashCode());
hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode());
hashCode = prime * hashCode + ((getSseSpecification() == null) ? 0 : getSseSpecification().hashCode());
return hashCode;
}
@Override
public CreateVerifiedAccessEndpointRequest clone() {
return (CreateVerifiedAccessEndpointRequest) super.clone();
}
}