/* * Copyright 2018-2023 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; /** *
* An Amazon Web Services Verified Access endpoint specifies the application that Amazon Web Services Verified Access * provides access to. It must be attached to an Amazon Web Services Verified Access group. An Amazon Web Services * Verified Access endpoint must also have an attached access policy before you attached it to a group. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class VerifiedAccessEndpoint implements Serializable, Cloneable { /** ** The ID of the Amazon Web Services Verified Access instance. *
*/ private String verifiedAccessInstanceId; /** ** The ID of the Amazon Web Services Verified Access group. *
*/ private String verifiedAccessGroupId; /** ** The ID of the Amazon Web Services Verified Access endpoint. *
*/ private String verifiedAccessEndpointId; /** ** The DNS name for users to reach your application. *
*/ private String applicationDomain; /** ** The type of Amazon Web Services Verified Access endpoint. Incoming application requests will be sent to an IP * address, load balancer or a network interface depending on the endpoint type specified. *
*/ private String endpointType; /** ** The type of attachment used to provide connectivity between the Amazon Web Services Verified Access endpoint and * the application. *
*/ private String attachmentType; /** ** The ARN of a public TLS/SSL certificate imported into or created with ACM. *
*/ private String domainCertificateArn; /** ** A DNS name that is generated for the endpoint. *
*/ private String endpointDomain; /** ** Returned if endpoint has a device trust provider attached. *
*/ private String deviceValidationDomain; /** ** The IDs of the security groups for the endpoint. *
*/ private com.amazonaws.internal.SdkInternalList
* The load balancer details if creating the Amazon Web Services Verified Access endpoint as
* load-balancer
type.
*
* The options for network-interface type endpoint. *
*/ private VerifiedAccessEndpointEniOptions networkInterfaceOptions; /** ** The endpoint status. *
*/ private VerifiedAccessEndpointStatus status; /** ** A description for the Amazon Web Services Verified Access endpoint. *
*/ private String description; /** ** The creation time. *
*/ private String creationTime; /** ** The last updated time. *
*/ private String lastUpdatedTime; /** ** The deletion time. *
*/ private String deletionTime; /** ** The tags. *
*/ private com.amazonaws.internal.SdkInternalList* The ID of the Amazon Web Services Verified Access instance. *
* * @param verifiedAccessInstanceId * The ID of the Amazon Web Services Verified Access instance. */ public void setVerifiedAccessInstanceId(String verifiedAccessInstanceId) { this.verifiedAccessInstanceId = verifiedAccessInstanceId; } /** ** The ID of the Amazon Web Services Verified Access instance. *
* * @return The ID of the Amazon Web Services Verified Access instance. */ public String getVerifiedAccessInstanceId() { return this.verifiedAccessInstanceId; } /** ** The ID of the Amazon Web Services Verified Access instance. *
* * @param verifiedAccessInstanceId * The ID of the Amazon Web Services Verified Access instance. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withVerifiedAccessInstanceId(String verifiedAccessInstanceId) { setVerifiedAccessInstanceId(verifiedAccessInstanceId); return this; } /** ** The ID of the Amazon Web Services Verified Access group. *
* * @param verifiedAccessGroupId * The ID of the Amazon Web Services Verified Access group. */ public void setVerifiedAccessGroupId(String verifiedAccessGroupId) { this.verifiedAccessGroupId = verifiedAccessGroupId; } /** ** The ID of the Amazon Web Services Verified Access group. *
* * @return The ID of the Amazon Web Services Verified Access group. */ public String getVerifiedAccessGroupId() { return this.verifiedAccessGroupId; } /** ** The ID of the Amazon Web Services Verified Access group. *
* * @param verifiedAccessGroupId * The ID of the Amazon Web Services Verified Access group. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withVerifiedAccessGroupId(String verifiedAccessGroupId) { setVerifiedAccessGroupId(verifiedAccessGroupId); return this; } /** ** The ID of the Amazon Web Services Verified Access endpoint. *
* * @param verifiedAccessEndpointId * The ID of the Amazon Web Services Verified Access endpoint. */ public void setVerifiedAccessEndpointId(String verifiedAccessEndpointId) { this.verifiedAccessEndpointId = verifiedAccessEndpointId; } /** ** The ID of the Amazon Web Services Verified Access endpoint. *
* * @return The ID of the Amazon Web Services Verified Access endpoint. */ public String getVerifiedAccessEndpointId() { return this.verifiedAccessEndpointId; } /** ** The ID of the Amazon Web Services Verified Access endpoint. *
* * @param verifiedAccessEndpointId * The ID of the Amazon Web Services Verified Access endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withVerifiedAccessEndpointId(String verifiedAccessEndpointId) { setVerifiedAccessEndpointId(verifiedAccessEndpointId); 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 VerifiedAccessEndpoint withApplicationDomain(String applicationDomain) { setApplicationDomain(applicationDomain); return this; } /** ** The type of Amazon Web Services Verified Access endpoint. Incoming application requests will be sent to an IP * address, load balancer or a network interface depending on the endpoint type specified. *
* * @param endpointType * The type of Amazon Web Services Verified Access endpoint. Incoming application requests will be sent to an * IP address, load balancer or a network interface depending on the endpoint type specified. * @see VerifiedAccessEndpointType */ public void setEndpointType(String endpointType) { this.endpointType = endpointType; } /** ** The type of Amazon Web Services Verified Access endpoint. Incoming application requests will be sent to an IP * address, load balancer or a network interface depending on the endpoint type specified. *
* * @return The type of Amazon Web Services Verified Access endpoint. Incoming application requests will be sent to * an IP address, load balancer or a network interface depending on the endpoint type specified. * @see VerifiedAccessEndpointType */ public String getEndpointType() { return this.endpointType; } /** ** The type of Amazon Web Services Verified Access endpoint. Incoming application requests will be sent to an IP * address, load balancer or a network interface depending on the endpoint type specified. *
* * @param endpointType * The type of Amazon Web Services Verified Access endpoint. Incoming application requests will be sent to an * IP address, load balancer or a network interface depending on the endpoint type specified. * @return Returns a reference to this object so that method calls can be chained together. * @see VerifiedAccessEndpointType */ public VerifiedAccessEndpoint withEndpointType(String endpointType) { setEndpointType(endpointType); return this; } /** ** The type of Amazon Web Services Verified Access endpoint. Incoming application requests will be sent to an IP * address, load balancer or a network interface depending on the endpoint type specified. *
* * @param endpointType * The type of Amazon Web Services Verified Access endpoint. Incoming application requests will be sent to an * IP address, load balancer or a network interface depending on the endpoint type specified. * @return Returns a reference to this object so that method calls can be chained together. * @see VerifiedAccessEndpointType */ public VerifiedAccessEndpoint withEndpointType(VerifiedAccessEndpointType endpointType) { this.endpointType = endpointType.toString(); return this; } /** ** The type of attachment used to provide connectivity between the Amazon Web Services Verified Access endpoint and * the application. *
* * @param attachmentType * The type of attachment used to provide connectivity between the Amazon Web Services Verified Access * endpoint and the application. * @see VerifiedAccessEndpointAttachmentType */ public void setAttachmentType(String attachmentType) { this.attachmentType = attachmentType; } /** ** The type of attachment used to provide connectivity between the Amazon Web Services Verified Access endpoint and * the application. *
* * @return The type of attachment used to provide connectivity between the Amazon Web Services Verified Access * endpoint and the application. * @see VerifiedAccessEndpointAttachmentType */ public String getAttachmentType() { return this.attachmentType; } /** ** The type of attachment used to provide connectivity between the Amazon Web Services Verified Access endpoint and * the application. *
* * @param attachmentType * The type of attachment used to provide connectivity between the Amazon Web Services Verified Access * endpoint and the application. * @return Returns a reference to this object so that method calls can be chained together. * @see VerifiedAccessEndpointAttachmentType */ public VerifiedAccessEndpoint withAttachmentType(String attachmentType) { setAttachmentType(attachmentType); return this; } /** ** The type of attachment used to provide connectivity between the Amazon Web Services Verified Access endpoint and * the application. *
* * @param attachmentType * The type of attachment used to provide connectivity between the Amazon Web Services Verified Access * endpoint and the application. * @return Returns a reference to this object so that method calls can be chained together. * @see VerifiedAccessEndpointAttachmentType */ public VerifiedAccessEndpoint withAttachmentType(VerifiedAccessEndpointAttachmentType attachmentType) { this.attachmentType = attachmentType.toString(); return this; } /** ** The ARN of a public TLS/SSL certificate imported into or created with ACM. *
* * @param domainCertificateArn * The ARN of a public TLS/SSL certificate imported into or created with ACM. */ public void setDomainCertificateArn(String domainCertificateArn) { this.domainCertificateArn = domainCertificateArn; } /** ** The ARN of a public TLS/SSL certificate imported into or created with ACM. *
* * @return The ARN of a public TLS/SSL certificate imported into or created with ACM. */ public String getDomainCertificateArn() { return this.domainCertificateArn; } /** ** The ARN of a public TLS/SSL certificate imported into or created with ACM. *
* * @param domainCertificateArn * The ARN of a public TLS/SSL certificate imported into or created with ACM. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withDomainCertificateArn(String domainCertificateArn) { setDomainCertificateArn(domainCertificateArn); return this; } /** ** A DNS name that is generated for the endpoint. *
* * @param endpointDomain * A DNS name that is generated for the endpoint. */ public void setEndpointDomain(String endpointDomain) { this.endpointDomain = endpointDomain; } /** ** A DNS name that is generated for the endpoint. *
* * @return A DNS name that is generated for the endpoint. */ public String getEndpointDomain() { return this.endpointDomain; } /** ** A DNS name that is generated for the endpoint. *
* * @param endpointDomain * A DNS name that is generated for the endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withEndpointDomain(String endpointDomain) { setEndpointDomain(endpointDomain); return this; } /** ** Returned if endpoint has a device trust provider attached. *
* * @param deviceValidationDomain * Returned if endpoint has a device trust provider attached. */ public void setDeviceValidationDomain(String deviceValidationDomain) { this.deviceValidationDomain = deviceValidationDomain; } /** ** Returned if endpoint has a device trust provider attached. *
* * @return Returned if endpoint has a device trust provider attached. */ public String getDeviceValidationDomain() { return this.deviceValidationDomain; } /** ** Returned if endpoint has a device trust provider attached. *
* * @param deviceValidationDomain * Returned if endpoint has a device trust provider attached. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withDeviceValidationDomain(String deviceValidationDomain) { setDeviceValidationDomain(deviceValidationDomain); return this; } /** ** The IDs of the security groups for the endpoint. *
* * @return The IDs of the security groups for the endpoint. */ public java.util.List* The IDs of the security groups for the endpoint. *
* * @param securityGroupIds * The IDs of the security groups for the endpoint. */ public void setSecurityGroupIds(java.util.Collection* The IDs of the security groups for the endpoint. *
** 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 for the endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withSecurityGroupIds(String... securityGroupIds) { if (this.securityGroupIds == null) { setSecurityGroupIds(new com.amazonaws.internal.SdkInternalList* The IDs of the security groups for the endpoint. *
* * @param securityGroupIds * The IDs of the security groups for the endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withSecurityGroupIds(java.util.Collection
* The load balancer details if creating the Amazon Web Services Verified Access endpoint as
* load-balancer
type.
*
load-balancer
type.
*/
public void setLoadBalancerOptions(VerifiedAccessEndpointLoadBalancerOptions loadBalancerOptions) {
this.loadBalancerOptions = loadBalancerOptions;
}
/**
*
* The load balancer details if creating the Amazon Web Services Verified Access endpoint as
* load-balancer
type.
*
load-balancer
type.
*/
public VerifiedAccessEndpointLoadBalancerOptions getLoadBalancerOptions() {
return this.loadBalancerOptions;
}
/**
*
* The load balancer details if creating the Amazon Web Services Verified Access endpoint as
* load-balancer
type.
*
load-balancer
type.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VerifiedAccessEndpoint withLoadBalancerOptions(VerifiedAccessEndpointLoadBalancerOptions loadBalancerOptions) {
setLoadBalancerOptions(loadBalancerOptions);
return this;
}
/**
* * The options for network-interface type endpoint. *
* * @param networkInterfaceOptions * The options for network-interface type endpoint. */ public void setNetworkInterfaceOptions(VerifiedAccessEndpointEniOptions networkInterfaceOptions) { this.networkInterfaceOptions = networkInterfaceOptions; } /** ** The options for network-interface type endpoint. *
* * @return The options for network-interface type endpoint. */ public VerifiedAccessEndpointEniOptions getNetworkInterfaceOptions() { return this.networkInterfaceOptions; } /** ** The options for network-interface type endpoint. *
* * @param networkInterfaceOptions * The options for network-interface type endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withNetworkInterfaceOptions(VerifiedAccessEndpointEniOptions networkInterfaceOptions) { setNetworkInterfaceOptions(networkInterfaceOptions); return this; } /** ** The endpoint status. *
* * @param status * The endpoint status. */ public void setStatus(VerifiedAccessEndpointStatus status) { this.status = status; } /** ** The endpoint status. *
* * @return The endpoint status. */ public VerifiedAccessEndpointStatus getStatus() { return this.status; } /** ** The endpoint status. *
* * @param status * The endpoint status. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withStatus(VerifiedAccessEndpointStatus status) { setStatus(status); return this; } /** ** A description for the Amazon Web Services Verified Access endpoint. *
* * @param description * A description for the Amazon Web Services Verified Access endpoint. */ public void setDescription(String description) { this.description = description; } /** ** A description for the Amazon Web Services Verified Access endpoint. *
* * @return A description for the Amazon Web Services Verified Access endpoint. */ public String getDescription() { return this.description; } /** ** A description for the Amazon Web Services Verified Access endpoint. *
* * @param description * A description for the Amazon Web Services Verified Access endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withDescription(String description) { setDescription(description); return this; } /** ** The creation time. *
* * @param creationTime * The creation time. */ public void setCreationTime(String creationTime) { this.creationTime = creationTime; } /** ** The creation time. *
* * @return The creation time. */ public String getCreationTime() { return this.creationTime; } /** ** The creation time. *
* * @param creationTime * The creation time. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withCreationTime(String creationTime) { setCreationTime(creationTime); return this; } /** ** The last updated time. *
* * @param lastUpdatedTime * The last updated time. */ public void setLastUpdatedTime(String lastUpdatedTime) { this.lastUpdatedTime = lastUpdatedTime; } /** ** The last updated time. *
* * @return The last updated time. */ public String getLastUpdatedTime() { return this.lastUpdatedTime; } /** ** The last updated time. *
* * @param lastUpdatedTime * The last updated time. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withLastUpdatedTime(String lastUpdatedTime) { setLastUpdatedTime(lastUpdatedTime); return this; } /** ** The deletion time. *
* * @param deletionTime * The deletion time. */ public void setDeletionTime(String deletionTime) { this.deletionTime = deletionTime; } /** ** The deletion time. *
* * @return The deletion time. */ public String getDeletionTime() { return this.deletionTime; } /** ** The deletion time. *
* * @param deletionTime * The deletion time. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withDeletionTime(String deletionTime) { setDeletionTime(deletionTime); return this; } /** ** The tags. *
* * @return The tags. */ public java.util.List* The tags. *
* * @param tags * The tags. */ public void setTags(java.util.Collection* The tags. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *
* * @param tags * The tags. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList* The tags. *
* * @param tags * The tags. * @return Returns a reference to this object so that method calls can be chained together. */ public VerifiedAccessEndpoint withTags(java.util.Collection