/* * 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; /** *
* Describes a VPC endpoint service. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ServiceDetail implements Serializable, Cloneable { /** ** The name of the service. *
*/ private String serviceName; /** ** The ID of the endpoint service. *
*/ private String serviceId; /** ** The type of service. *
*/ private com.amazonaws.internal.SdkInternalList* The Availability Zones in which the service is available. *
*/ private com.amazonaws.internal.SdkInternalList* The Amazon Web Services account ID of the service owner. *
*/ private String owner; /** ** The DNS names for the service. *
*/ private com.amazonaws.internal.SdkInternalList* The private DNS name for the service. *
*/ private String privateDnsName; /** ** The private DNS names assigned to the VPC endpoint service. *
*/ private com.amazonaws.internal.SdkInternalList* Indicates whether the service supports endpoint policies. *
*/ private Boolean vpcEndpointPolicySupported; /** ** Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner. *
*/ private Boolean acceptanceRequired; /** ** Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using the VPC * endpoint API is restricted. *
*/ private Boolean managesVpcEndpoints; /** ** The payer responsibility. *
*/ private String payerResponsibility; /** ** The tags assigned to the service. *
*/ private com.amazonaws.internal.SdkInternalList* The verification state of the VPC endpoint service. *
*
* Consumers of the endpoint service cannot use the private name when the state is not verified
.
*
* The supported IP address types. *
*/ private com.amazonaws.internal.SdkInternalList* The name of the service. *
* * @param serviceName * The name of the service. */ public void setServiceName(String serviceName) { this.serviceName = serviceName; } /** ** The name of the service. *
* * @return The name of the service. */ public String getServiceName() { return this.serviceName; } /** ** The name of the service. *
* * @param serviceName * The name of the service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withServiceName(String serviceName) { setServiceName(serviceName); return this; } /** ** The ID of the endpoint service. *
* * @param serviceId * The ID of the endpoint service. */ public void setServiceId(String serviceId) { this.serviceId = serviceId; } /** ** The ID of the endpoint service. *
* * @return The ID of the endpoint service. */ public String getServiceId() { return this.serviceId; } /** ** The ID of the endpoint service. *
* * @param serviceId * The ID of the endpoint service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withServiceId(String serviceId) { setServiceId(serviceId); return this; } /** ** The type of service. *
* * @return The type of service. */ public java.util.List* The type of service. *
* * @param serviceType * The type of service. */ public void setServiceType(java.util.Collection* The type of service. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setServiceType(java.util.Collection)} or {@link #withServiceType(java.util.Collection)} if you want to * override the existing values. *
* * @param serviceType * The type of service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withServiceType(ServiceTypeDetail... serviceType) { if (this.serviceType == null) { setServiceType(new com.amazonaws.internal.SdkInternalList* The type of service. *
* * @param serviceType * The type of service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withServiceType(java.util.Collection* The Availability Zones in which the service is available. *
* * @return The Availability Zones in which the service is available. */ public java.util.List* The Availability Zones in which the service is available. *
* * @param availabilityZones * The Availability Zones in which the service is available. */ public void setAvailabilityZones(java.util.Collection* The Availability Zones in which the service is available. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setAvailabilityZones(java.util.Collection)} or {@link #withAvailabilityZones(java.util.Collection)} if * you want to override the existing values. *
* * @param availabilityZones * The Availability Zones in which the service is available. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withAvailabilityZones(String... availabilityZones) { if (this.availabilityZones == null) { setAvailabilityZones(new com.amazonaws.internal.SdkInternalList* The Availability Zones in which the service is available. *
* * @param availabilityZones * The Availability Zones in which the service is available. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withAvailabilityZones(java.util.Collection* The Amazon Web Services account ID of the service owner. *
* * @param owner * The Amazon Web Services account ID of the service owner. */ public void setOwner(String owner) { this.owner = owner; } /** ** The Amazon Web Services account ID of the service owner. *
* * @return The Amazon Web Services account ID of the service owner. */ public String getOwner() { return this.owner; } /** ** The Amazon Web Services account ID of the service owner. *
* * @param owner * The Amazon Web Services account ID of the service owner. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withOwner(String owner) { setOwner(owner); return this; } /** ** The DNS names for the service. *
* * @return The DNS names for the service. */ public java.util.List* The DNS names for the service. *
* * @param baseEndpointDnsNames * The DNS names for the service. */ public void setBaseEndpointDnsNames(java.util.Collection* The DNS names for the service. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setBaseEndpointDnsNames(java.util.Collection)} or {@link #withBaseEndpointDnsNames(java.util.Collection)} * if you want to override the existing values. *
* * @param baseEndpointDnsNames * The DNS names for the service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withBaseEndpointDnsNames(String... baseEndpointDnsNames) { if (this.baseEndpointDnsNames == null) { setBaseEndpointDnsNames(new com.amazonaws.internal.SdkInternalList* The DNS names for the service. *
* * @param baseEndpointDnsNames * The DNS names for the service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withBaseEndpointDnsNames(java.util.Collection* The private DNS name for the service. *
* * @param privateDnsName * The private DNS name for the service. */ public void setPrivateDnsName(String privateDnsName) { this.privateDnsName = privateDnsName; } /** ** The private DNS name for the service. *
* * @return The private DNS name for the service. */ public String getPrivateDnsName() { return this.privateDnsName; } /** ** The private DNS name for the service. *
* * @param privateDnsName * The private DNS name for the service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withPrivateDnsName(String privateDnsName) { setPrivateDnsName(privateDnsName); return this; } /** ** The private DNS names assigned to the VPC endpoint service. *
* * @return The private DNS names assigned to the VPC endpoint service. */ public java.util.List* The private DNS names assigned to the VPC endpoint service. *
* * @param privateDnsNames * The private DNS names assigned to the VPC endpoint service. */ public void setPrivateDnsNames(java.util.Collection* The private DNS names assigned to the VPC endpoint service. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setPrivateDnsNames(java.util.Collection)} or {@link #withPrivateDnsNames(java.util.Collection)} if you * want to override the existing values. *
* * @param privateDnsNames * The private DNS names assigned to the VPC endpoint service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withPrivateDnsNames(PrivateDnsDetails... privateDnsNames) { if (this.privateDnsNames == null) { setPrivateDnsNames(new com.amazonaws.internal.SdkInternalList* The private DNS names assigned to the VPC endpoint service. *
* * @param privateDnsNames * The private DNS names assigned to the VPC endpoint service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withPrivateDnsNames(java.util.Collection* Indicates whether the service supports endpoint policies. *
* * @param vpcEndpointPolicySupported * Indicates whether the service supports endpoint policies. */ public void setVpcEndpointPolicySupported(Boolean vpcEndpointPolicySupported) { this.vpcEndpointPolicySupported = vpcEndpointPolicySupported; } /** ** Indicates whether the service supports endpoint policies. *
* * @return Indicates whether the service supports endpoint policies. */ public Boolean getVpcEndpointPolicySupported() { return this.vpcEndpointPolicySupported; } /** ** Indicates whether the service supports endpoint policies. *
* * @param vpcEndpointPolicySupported * Indicates whether the service supports endpoint policies. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withVpcEndpointPolicySupported(Boolean vpcEndpointPolicySupported) { setVpcEndpointPolicySupported(vpcEndpointPolicySupported); return this; } /** ** Indicates whether the service supports endpoint policies. *
* * @return Indicates whether the service supports endpoint policies. */ public Boolean isVpcEndpointPolicySupported() { return this.vpcEndpointPolicySupported; } /** ** Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner. *
* * @param acceptanceRequired * Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner. */ public void setAcceptanceRequired(Boolean acceptanceRequired) { this.acceptanceRequired = acceptanceRequired; } /** ** Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner. *
* * @return Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner. */ public Boolean getAcceptanceRequired() { return this.acceptanceRequired; } /** ** Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner. *
* * @param acceptanceRequired * Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withAcceptanceRequired(Boolean acceptanceRequired) { setAcceptanceRequired(acceptanceRequired); return this; } /** ** Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner. *
* * @return Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner. */ public Boolean isAcceptanceRequired() { return this.acceptanceRequired; } /** ** Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using the VPC * endpoint API is restricted. *
* * @param managesVpcEndpoints * Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using the * VPC endpoint API is restricted. */ public void setManagesVpcEndpoints(Boolean managesVpcEndpoints) { this.managesVpcEndpoints = managesVpcEndpoints; } /** ** Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using the VPC * endpoint API is restricted. *
* * @return Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using * the VPC endpoint API is restricted. */ public Boolean getManagesVpcEndpoints() { return this.managesVpcEndpoints; } /** ** Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using the VPC * endpoint API is restricted. *
* * @param managesVpcEndpoints * Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using the * VPC endpoint API is restricted. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withManagesVpcEndpoints(Boolean managesVpcEndpoints) { setManagesVpcEndpoints(managesVpcEndpoints); return this; } /** ** Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using the VPC * endpoint API is restricted. *
* * @return Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using * the VPC endpoint API is restricted. */ public Boolean isManagesVpcEndpoints() { return this.managesVpcEndpoints; } /** ** The payer responsibility. *
* * @param payerResponsibility * The payer responsibility. * @see PayerResponsibility */ public void setPayerResponsibility(String payerResponsibility) { this.payerResponsibility = payerResponsibility; } /** ** The payer responsibility. *
* * @return The payer responsibility. * @see PayerResponsibility */ public String getPayerResponsibility() { return this.payerResponsibility; } /** ** The payer responsibility. *
* * @param payerResponsibility * The payer responsibility. * @return Returns a reference to this object so that method calls can be chained together. * @see PayerResponsibility */ public ServiceDetail withPayerResponsibility(String payerResponsibility) { setPayerResponsibility(payerResponsibility); return this; } /** ** The payer responsibility. *
* * @param payerResponsibility * The payer responsibility. * @return Returns a reference to this object so that method calls can be chained together. * @see PayerResponsibility */ public ServiceDetail withPayerResponsibility(PayerResponsibility payerResponsibility) { this.payerResponsibility = payerResponsibility.toString(); return this; } /** ** The tags assigned to the service. *
* * @return The tags assigned to the service. */ public java.util.List* The tags assigned to the service. *
* * @param tags * The tags assigned to the service. */ public void setTags(java.util.Collection* The tags assigned to the service. *
** 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 assigned to the service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList* The tags assigned to the service. *
* * @param tags * The tags assigned to the service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceDetail withTags(java.util.Collection* The verification state of the VPC endpoint service. *
*
* Consumers of the endpoint service cannot use the private name when the state is not verified
.
*
* Consumers of the endpoint service cannot use the private name when the state is not verified
.
* @see DnsNameState
*/
public void setPrivateDnsNameVerificationState(String privateDnsNameVerificationState) {
this.privateDnsNameVerificationState = privateDnsNameVerificationState;
}
/**
*
* The verification state of the VPC endpoint service. *
*
* Consumers of the endpoint service cannot use the private name when the state is not verified
.
*
* Consumers of the endpoint service cannot use the private name when the state is not verified
.
* @see DnsNameState
*/
public String getPrivateDnsNameVerificationState() {
return this.privateDnsNameVerificationState;
}
/**
*
* The verification state of the VPC endpoint service. *
*
* Consumers of the endpoint service cannot use the private name when the state is not verified
.
*
* Consumers of the endpoint service cannot use the private name when the state is not verified
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DnsNameState
*/
public ServiceDetail withPrivateDnsNameVerificationState(String privateDnsNameVerificationState) {
setPrivateDnsNameVerificationState(privateDnsNameVerificationState);
return this;
}
/**
*
* The verification state of the VPC endpoint service. *
*
* Consumers of the endpoint service cannot use the private name when the state is not verified
.
*
* Consumers of the endpoint service cannot use the private name when the state is not verified
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DnsNameState
*/
public ServiceDetail withPrivateDnsNameVerificationState(DnsNameState privateDnsNameVerificationState) {
this.privateDnsNameVerificationState = privateDnsNameVerificationState.toString();
return this;
}
/**
*
* The supported IP address types. *
* * @return The supported IP address types. * @see ServiceConnectivityType */ public java.util.List* The supported IP address types. *
* * @param supportedIpAddressTypes * The supported IP address types. * @see ServiceConnectivityType */ public void setSupportedIpAddressTypes(java.util.Collection* The supported IP address types. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSupportedIpAddressTypes(java.util.Collection)} or * {@link #withSupportedIpAddressTypes(java.util.Collection)} if you want to override the existing values. *
* * @param supportedIpAddressTypes * The supported IP address types. * @return Returns a reference to this object so that method calls can be chained together. * @see ServiceConnectivityType */ public ServiceDetail withSupportedIpAddressTypes(String... supportedIpAddressTypes) { if (this.supportedIpAddressTypes == null) { setSupportedIpAddressTypes(new com.amazonaws.internal.SdkInternalList* The supported IP address types. *
* * @param supportedIpAddressTypes * The supported IP address types. * @return Returns a reference to this object so that method calls can be chained together. * @see ServiceConnectivityType */ public ServiceDetail withSupportedIpAddressTypes(java.util.Collection* The supported IP address types. *
* * @param supportedIpAddressTypes * The supported IP address types. * @return Returns a reference to this object so that method calls can be chained together. * @see ServiceConnectivityType */ public ServiceDetail withSupportedIpAddressTypes(ServiceConnectivityType... supportedIpAddressTypes) { com.amazonaws.internal.SdkInternalList