/* * 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 service configuration for a VPC endpoint service. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ServiceConfiguration implements Serializable, Cloneable { /** ** The type of service. *
*/ private com.amazonaws.internal.SdkInternalList* The ID of the service. *
*/ private String serviceId; /** ** The name of the service. *
*/ private String serviceName; /** ** The service state. *
*/ private String serviceState; /** ** The Availability Zones in which the service is available. *
*/ private com.amazonaws.internal.SdkInternalList* Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service must * first be accepted. *
*/ 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 Amazon Resource Names (ARNs) of the Network Load Balancers for the service. *
*/ private com.amazonaws.internal.SdkInternalList* The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service. *
*/ private com.amazonaws.internal.SdkInternalList* The supported IP address types. *
*/ private com.amazonaws.internal.SdkInternalList* The DNS names for the service. *
*/ private com.amazonaws.internal.SdkInternalList* The private DNS name for the service. *
*/ private String privateDnsName; /** ** Information about the endpoint service private DNS name configuration. *
*/ private PrivateDnsNameConfiguration privateDnsNameConfiguration; /** ** The payer responsibility. *
*/ private String payerResponsibility; /** ** The tags assigned to the service. *
*/ private com.amazonaws.internal.SdkInternalList* 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 ServiceConfiguration 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 ServiceConfiguration withServiceType(java.util.Collection* The ID of the service. *
* * @param serviceId * The ID of the service. */ public void setServiceId(String serviceId) { this.serviceId = serviceId; } /** ** The ID of the service. *
* * @return The ID of the service. */ public String getServiceId() { return this.serviceId; } /** ** The ID of the service. *
* * @param serviceId * The ID of the service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceConfiguration withServiceId(String serviceId) { setServiceId(serviceId); return this; } /** ** 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 ServiceConfiguration withServiceName(String serviceName) { setServiceName(serviceName); return this; } /** ** The service state. *
* * @param serviceState * The service state. * @see ServiceState */ public void setServiceState(String serviceState) { this.serviceState = serviceState; } /** ** The service state. *
* * @return The service state. * @see ServiceState */ public String getServiceState() { return this.serviceState; } /** ** The service state. *
* * @param serviceState * The service state. * @return Returns a reference to this object so that method calls can be chained together. * @see ServiceState */ public ServiceConfiguration withServiceState(String serviceState) { setServiceState(serviceState); return this; } /** ** The service state. *
* * @param serviceState * The service state. * @return Returns a reference to this object so that method calls can be chained together. * @see ServiceState */ public ServiceConfiguration withServiceState(ServiceState serviceState) { this.serviceState = serviceState.toString(); return this; } /** ** 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 ServiceConfiguration 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 ServiceConfiguration withAvailabilityZones(java.util.Collection* Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service must * first be accepted. *
* * @param acceptanceRequired * Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service * must first be accepted. */ public void setAcceptanceRequired(Boolean acceptanceRequired) { this.acceptanceRequired = acceptanceRequired; } /** ** Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service must * first be accepted. *
* * @return Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service * must first be accepted. */ public Boolean getAcceptanceRequired() { return this.acceptanceRequired; } /** ** Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service must * first be accepted. *
* * @param acceptanceRequired * Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service * must first be accepted. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceConfiguration withAcceptanceRequired(Boolean acceptanceRequired) { setAcceptanceRequired(acceptanceRequired); return this; } /** ** Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service must * first be accepted. *
* * @return Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service * must first be accepted. */ 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 ServiceConfiguration 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 Amazon Resource Names (ARNs) of the Network Load Balancers for the service. *
* * @return The Amazon Resource Names (ARNs) of the Network Load Balancers for the service. */ public java.util.List* The Amazon Resource Names (ARNs) of the Network Load Balancers for the service. *
* * @param networkLoadBalancerArns * The Amazon Resource Names (ARNs) of the Network Load Balancers for the service. */ public void setNetworkLoadBalancerArns(java.util.Collection* The Amazon Resource Names (ARNs) of the Network Load Balancers for the service. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setNetworkLoadBalancerArns(java.util.Collection)} or * {@link #withNetworkLoadBalancerArns(java.util.Collection)} if you want to override the existing values. *
* * @param networkLoadBalancerArns * The Amazon Resource Names (ARNs) of the Network Load Balancers for the service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceConfiguration withNetworkLoadBalancerArns(String... networkLoadBalancerArns) { if (this.networkLoadBalancerArns == null) { setNetworkLoadBalancerArns(new com.amazonaws.internal.SdkInternalList* The Amazon Resource Names (ARNs) of the Network Load Balancers for the service. *
* * @param networkLoadBalancerArns * The Amazon Resource Names (ARNs) of the Network Load Balancers for the service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceConfiguration withNetworkLoadBalancerArns(java.util.Collection* The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service. *
* * @return The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service. */ public java.util.List* The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service. *
* * @param gatewayLoadBalancerArns * The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service. */ public void setGatewayLoadBalancerArns(java.util.Collection* The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setGatewayLoadBalancerArns(java.util.Collection)} or * {@link #withGatewayLoadBalancerArns(java.util.Collection)} if you want to override the existing values. *
* * @param gatewayLoadBalancerArns * The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceConfiguration withGatewayLoadBalancerArns(String... gatewayLoadBalancerArns) { if (this.gatewayLoadBalancerArns == null) { setGatewayLoadBalancerArns(new com.amazonaws.internal.SdkInternalList* The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service. *
* * @param gatewayLoadBalancerArns * The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceConfiguration withGatewayLoadBalancerArns(java.util.Collection* 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 ServiceConfiguration 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 ServiceConfiguration 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 ServiceConfiguration withSupportedIpAddressTypes(ServiceConnectivityType... supportedIpAddressTypes) { com.amazonaws.internal.SdkInternalList* 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 ServiceConfiguration 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 ServiceConfiguration 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 ServiceConfiguration withPrivateDnsName(String privateDnsName) { setPrivateDnsName(privateDnsName); return this; } /** ** Information about the endpoint service private DNS name configuration. *
* * @param privateDnsNameConfiguration * Information about the endpoint service private DNS name configuration. */ public void setPrivateDnsNameConfiguration(PrivateDnsNameConfiguration privateDnsNameConfiguration) { this.privateDnsNameConfiguration = privateDnsNameConfiguration; } /** ** Information about the endpoint service private DNS name configuration. *
* * @return Information about the endpoint service private DNS name configuration. */ public PrivateDnsNameConfiguration getPrivateDnsNameConfiguration() { return this.privateDnsNameConfiguration; } /** ** Information about the endpoint service private DNS name configuration. *
* * @param privateDnsNameConfiguration * Information about the endpoint service private DNS name configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public ServiceConfiguration withPrivateDnsNameConfiguration(PrivateDnsNameConfiguration privateDnsNameConfiguration) { setPrivateDnsNameConfiguration(privateDnsNameConfiguration); return this; } /** ** 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 ServiceConfiguration 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 ServiceConfiguration 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 ServiceConfiguration 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 ServiceConfiguration withTags(java.util.Collection