/* * 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 { /// /// Container for the parameters to the CreateVpcEndpoint operation. /// Creates a VPC endpoint. A VPC endpoint provides a private connection between the specified /// VPC and the specified endpoint service. You can use an endpoint service provided by /// Amazon Web Services, an Amazon Web Services Marketplace Partner, or another Amazon /// Web Services account. For more information, see the Amazon /// Web Services PrivateLink User Guide. /// public partial class CreateVpcEndpointRequest : AmazonEC2Request { private string _clientToken; private DnsOptionsSpecification _dnsOptions; private IpAddressType _ipAddressType; private string _policyDocument; private bool? _privateDnsEnabled; private List _routeTableIds = new List(); private List _securityGroupIds = new List(); private string _serviceName; private List _subnetIds = new List(); private List _tagSpecifications = new List(); private VpcEndpointType _vpcEndpointType; private string _vpcId; /// /// Gets and sets the property ClientToken. /// /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the /// request. For more information, see How /// to ensure idempotency. /// /// public string ClientToken { get { return this._clientToken; } set { this._clientToken = value; } } // Check to see if ClientToken property is set internal bool IsSetClientToken() { return this._clientToken != null; } /// /// Gets and sets the property DnsOptions. /// /// The DNS options for the endpoint. /// /// public DnsOptionsSpecification DnsOptions { get { return this._dnsOptions; } set { this._dnsOptions = value; } } // Check to see if DnsOptions property is set internal bool IsSetDnsOptions() { return this._dnsOptions != null; } /// /// Gets and sets the property IpAddressType. /// /// The IP address type for the endpoint. /// /// public IpAddressType IpAddressType { get { return this._ipAddressType; } set { this._ipAddressType = value; } } // Check to see if IpAddressType property is set internal bool IsSetIpAddressType() { return this._ipAddressType != null; } /// /// Gets and sets the property PolicyDocument. /// /// (Interface and gateway endpoints) A policy to attach to the endpoint that controls /// access to the service. The policy must be in valid JSON format. If this parameter /// is not specified, we attach a default policy that allows full access to the service. /// /// public string PolicyDocument { get { return this._policyDocument; } set { this._policyDocument = value; } } // Check to see if PolicyDocument property is set internal bool IsSetPolicyDocument() { return this._policyDocument != null; } /// /// Gets and sets the property PrivateDnsEnabled. /// /// (Interface endpoint) Indicates whether to associate a private hosted zone with the /// specified VPC. The private hosted zone contains a record set for the default public /// DNS name for the service for the Region (for example, kinesis.us-east-1.amazonaws.com), /// which resolves to the private IP addresses of the endpoint network interfaces in the /// VPC. This enables you to make requests to the default public DNS name for the service /// instead of the public DNS names that are automatically generated by the VPC endpoint /// service. /// /// /// /// To use a private hosted zone, you must set the following VPC attributes to true: /// enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute /// to set the VPC attributes. /// /// /// /// Default: true /// /// public bool PrivateDnsEnabled { get { return this._privateDnsEnabled.GetValueOrDefault(); } set { this._privateDnsEnabled = value; } } // Check to see if PrivateDnsEnabled property is set internal bool IsSetPrivateDnsEnabled() { return this._privateDnsEnabled.HasValue; } /// /// Gets and sets the property RouteTableIds. /// /// (Gateway endpoint) The route table IDs. /// /// public List RouteTableIds { get { return this._routeTableIds; } set { this._routeTableIds = value; } } // Check to see if RouteTableIds property is set internal bool IsSetRouteTableIds() { return this._routeTableIds != null && this._routeTableIds.Count > 0; } /// /// Gets and sets the property SecurityGroupIds. /// /// (Interface endpoint) The IDs of the security groups to associate with the endpoint /// network interface. If this parameter is not specified, we use the default security /// group for the VPC. /// /// public List SecurityGroupIds { get { return this._securityGroupIds; } set { this._securityGroupIds = value; } } // Check to see if SecurityGroupIds property is set internal bool IsSetSecurityGroupIds() { return this._securityGroupIds != null && this._securityGroupIds.Count > 0; } /// /// Gets and sets the property ServiceName. /// /// The name of the endpoint service. /// /// [AWSProperty(Required=true)] 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 SubnetIds. /// /// (Interface and Gateway Load Balancer endpoints) The IDs of the subnets in which to /// create an endpoint network interface. For a Gateway Load Balancer endpoint, you can /// specify only one subnet. /// /// public List SubnetIds { get { return this._subnetIds; } set { this._subnetIds = value; } } // Check to see if SubnetIds property is set internal bool IsSetSubnetIds() { return this._subnetIds != null && this._subnetIds.Count > 0; } /// /// Gets and sets the property TagSpecifications. /// /// The tags to associate with the endpoint. /// /// public List TagSpecifications { get { return this._tagSpecifications; } set { this._tagSpecifications = value; } } // Check to see if TagSpecifications property is set internal bool IsSetTagSpecifications() { return this._tagSpecifications != null && this._tagSpecifications.Count > 0; } /// /// Gets and sets the property VpcEndpointType. /// /// The type of endpoint. /// /// /// /// Default: Gateway /// /// public VpcEndpointType VpcEndpointType { get { return this._vpcEndpointType; } set { this._vpcEndpointType = value; } } // Check to see if VpcEndpointType property is set internal bool IsSetVpcEndpointType() { return this._vpcEndpointType != null; } /// /// Gets and sets the property VpcId. /// /// The ID of the VPC. /// /// [AWSProperty(Required=true)] public string VpcId { get { return this._vpcId; } set { this._vpcId = value; } } // Check to see if VpcId property is set internal bool IsSetVpcId() { return this._vpcId != null; } } }