/*
* 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.
*/
/*
* Do not modify this file. This file is generated from the ec2-2016-11-15.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.EC2.Model
{
///
/// Describes a service configuration for a VPC endpoint service.
///
public partial class ServiceConfiguration
{
private bool? _acceptanceRequired;
private List _availabilityZones = new List();
private List _baseEndpointDnsNames = new List();
private List _gatewayLoadBalancerArns = new List();
private bool? _managesVpcEndpoints;
private List _networkLoadBalancerArns = new List();
private PayerResponsibility _payerResponsibility;
private string _privateDnsName;
private PrivateDnsNameConfiguration _privateDnsNameConfiguration;
private string _serviceId;
private string _serviceName;
private ServiceState _serviceState;
private List _serviceType = new List();
private List _supportedIpAddressTypes = new List();
private List _tags = new List();
///
/// Gets and sets the property AcceptanceRequired.
///
/// Indicates whether requests from other Amazon Web Services accounts to create an endpoint
/// to the service must first be accepted.
///
///
public bool AcceptanceRequired
{
get { return this._acceptanceRequired.GetValueOrDefault(); }
set { this._acceptanceRequired = value; }
}
// Check to see if AcceptanceRequired property is set
internal bool IsSetAcceptanceRequired()
{
return this._acceptanceRequired.HasValue;
}
///
/// Gets and sets the property AvailabilityZones.
///
/// The Availability Zones in which the service is available.
///
///
public List AvailabilityZones
{
get { return this._availabilityZones; }
set { this._availabilityZones = value; }
}
// Check to see if AvailabilityZones property is set
internal bool IsSetAvailabilityZones()
{
return this._availabilityZones != null && this._availabilityZones.Count > 0;
}
///
/// Gets and sets the property BaseEndpointDnsNames.
///
/// The DNS names for the service.
///
///
public List BaseEndpointDnsNames
{
get { return this._baseEndpointDnsNames; }
set { this._baseEndpointDnsNames = value; }
}
// Check to see if BaseEndpointDnsNames property is set
internal bool IsSetBaseEndpointDnsNames()
{
return this._baseEndpointDnsNames != null && this._baseEndpointDnsNames.Count > 0;
}
///
/// Gets and sets the property GatewayLoadBalancerArns.
///
/// The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.
///
///
public List GatewayLoadBalancerArns
{
get { return this._gatewayLoadBalancerArns; }
set { this._gatewayLoadBalancerArns = value; }
}
// Check to see if GatewayLoadBalancerArns property is set
internal bool IsSetGatewayLoadBalancerArns()
{
return this._gatewayLoadBalancerArns != null && this._gatewayLoadBalancerArns.Count > 0;
}
///
/// Gets and sets the property ManagesVpcEndpoints.
///
/// Indicates whether the service manages its VPC endpoints. Management of the service
/// VPC endpoints using the VPC endpoint API is restricted.
///
///
public bool ManagesVpcEndpoints
{
get { return this._managesVpcEndpoints.GetValueOrDefault(); }
set { this._managesVpcEndpoints = value; }
}
// Check to see if ManagesVpcEndpoints property is set
internal bool IsSetManagesVpcEndpoints()
{
return this._managesVpcEndpoints.HasValue;
}
///
/// Gets and sets the property NetworkLoadBalancerArns.
///
/// The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.
///
///
public List NetworkLoadBalancerArns
{
get { return this._networkLoadBalancerArns; }
set { this._networkLoadBalancerArns = value; }
}
// Check to see if NetworkLoadBalancerArns property is set
internal bool IsSetNetworkLoadBalancerArns()
{
return this._networkLoadBalancerArns != null && this._networkLoadBalancerArns.Count > 0;
}
///
/// Gets and sets the property PayerResponsibility.
///
/// The payer responsibility.
///
///
public PayerResponsibility PayerResponsibility
{
get { return this._payerResponsibility; }
set { this._payerResponsibility = value; }
}
// Check to see if PayerResponsibility property is set
internal bool IsSetPayerResponsibility()
{
return this._payerResponsibility != null;
}
///
/// Gets and sets the property PrivateDnsName.
///
/// The private DNS name for the service.
///
///
public string PrivateDnsName
{
get { return this._privateDnsName; }
set { this._privateDnsName = value; }
}
// Check to see if PrivateDnsName property is set
internal bool IsSetPrivateDnsName()
{
return this._privateDnsName != null;
}
///
/// Gets and sets the property PrivateDnsNameConfiguration.
///
/// Information about the endpoint service private DNS name configuration.
///
///
public PrivateDnsNameConfiguration PrivateDnsNameConfiguration
{
get { return this._privateDnsNameConfiguration; }
set { this._privateDnsNameConfiguration = value; }
}
// Check to see if PrivateDnsNameConfiguration property is set
internal bool IsSetPrivateDnsNameConfiguration()
{
return this._privateDnsNameConfiguration != null;
}
///
/// Gets and sets the property ServiceId.
///
/// The ID of the service.
///
///
public string ServiceId
{
get { return this._serviceId; }
set { this._serviceId = value; }
}
// Check to see if ServiceId property is set
internal bool IsSetServiceId()
{
return this._serviceId != null;
}
///
/// Gets and sets the property ServiceName.
///
/// The name of the service.
///
///
public string ServiceName
{
get { return this._serviceName; }
set { this._serviceName = value; }
}
// Check to see if ServiceName property is set
internal bool IsSetServiceName()
{
return this._serviceName != null;
}
///
/// Gets and sets the property ServiceState.
///
/// The service state.
///
///
public ServiceState ServiceState
{
get { return this._serviceState; }
set { this._serviceState = value; }
}
// Check to see if ServiceState property is set
internal bool IsSetServiceState()
{
return this._serviceState != null;
}
///
/// Gets and sets the property ServiceType.
///
/// The type of service.
///
///
public List ServiceType
{
get { return this._serviceType; }
set { this._serviceType = value; }
}
// Check to see if ServiceType property is set
internal bool IsSetServiceType()
{
return this._serviceType != null && this._serviceType.Count > 0;
}
///
/// Gets and sets the property SupportedIpAddressTypes.
///
/// The supported IP address types.
///
///
[AWSProperty(Min=0, Max=2)]
public List SupportedIpAddressTypes
{
get { return this._supportedIpAddressTypes; }
set { this._supportedIpAddressTypes = value; }
}
// Check to see if SupportedIpAddressTypes property is set
internal bool IsSetSupportedIpAddressTypes()
{
return this._supportedIpAddressTypes != null && this._supportedIpAddressTypes.Count > 0;
}
///
/// Gets and sets the property Tags.
///
/// The tags assigned to the service.
///
///
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}