/* * 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 route53resolver-2018-04-01.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.Route53Resolver.Model { /// /// Container for the parameters to the CreateResolverEndpoint operation. /// Creates a Resolver endpoint. There are two types of Resolver endpoints, inbound and /// outbound: /// /// /// public partial class CreateResolverEndpointRequest : AmazonRoute53ResolverRequest { private string _creatorRequestId; private ResolverEndpointDirection _direction; private List _ipAddresses = new List(); private string _name; private string _outpostArn; private string _preferredInstanceType; private ResolverEndpointType _resolverEndpointType; private List _securityGroupIds = new List(); private List _tags = new List(); /// /// Gets and sets the property CreatorRequestId. /// /// A unique string that identifies the request and that allows failed requests to be /// retried without the risk of running the operation twice. CreatorRequestId /// can be any unique string, for example, a date/time stamp. /// /// [AWSProperty(Required=true, Min=1, Max=255)] public string CreatorRequestId { get { return this._creatorRequestId; } set { this._creatorRequestId = value; } } // Check to see if CreatorRequestId property is set internal bool IsSetCreatorRequestId() { return this._creatorRequestId != null; } /// /// Gets and sets the property Direction. /// /// Specify the applicable value: /// ///
  • /// /// INBOUND: Resolver forwards DNS queries to the DNS service for a VPC /// from your network /// ///
  • /// /// OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC /// to your network /// ///
///
[AWSProperty(Required=true)] public ResolverEndpointDirection Direction { get { return this._direction; } set { this._direction = value; } } // Check to see if Direction property is set internal bool IsSetDirection() { return this._direction != null; } /// /// Gets and sets the property IpAddresses. /// /// The subnets and IP addresses in your VPC that DNS queries originate from (for outbound /// endpoints) or that you forward DNS queries to (for inbound endpoints). The subnet /// ID uniquely identifies a VPC. /// /// [AWSProperty(Required=true, Min=1, Max=20)] public List IpAddresses { get { return this._ipAddresses; } set { this._ipAddresses = value; } } // Check to see if IpAddresses property is set internal bool IsSetIpAddresses() { return this._ipAddresses != null && this._ipAddresses.Count > 0; } /// /// Gets and sets the property Name. /// /// A friendly name that lets you easily find a configuration in the Resolver dashboard /// in the Route 53 console. /// /// [AWSProperty(Max=64)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property OutpostArn. /// /// The Amazon Resource Name (ARN) of the Outpost. If you specify this, you must also /// specify a value for the PreferredInstanceType. /// /// [AWSProperty(Min=1, Max=255)] public string OutpostArn { get { return this._outpostArn; } set { this._outpostArn = value; } } // Check to see if OutpostArn property is set internal bool IsSetOutpostArn() { return this._outpostArn != null; } /// /// Gets and sets the property PreferredInstanceType. /// /// The instance type. If you specify this, you must also specify a value for the OutpostArn. /// /// [AWSProperty(Min=1, Max=255)] public string PreferredInstanceType { get { return this._preferredInstanceType; } set { this._preferredInstanceType = value; } } // Check to see if PreferredInstanceType property is set internal bool IsSetPreferredInstanceType() { return this._preferredInstanceType != null; } /// /// Gets and sets the property ResolverEndpointType. /// /// For the endpoint type you can choose either IPv4, IPv6, or dual-stack. A dual-stack /// endpoint means that it will resolve via both IPv4 and IPv6. This endpoint type is /// applied to all IP addresses. /// /// public ResolverEndpointType ResolverEndpointType { get { return this._resolverEndpointType; } set { this._resolverEndpointType = value; } } // Check to see if ResolverEndpointType property is set internal bool IsSetResolverEndpointType() { return this._resolverEndpointType != null; } /// /// Gets and sets the property SecurityGroupIds. /// /// The ID of one or more security groups that you want to use to control access to this /// VPC. The security group that you specify must include one or more inbound rules (for /// inbound Resolver endpoints) or outbound rules (for outbound Resolver endpoints). Inbound /// and outbound rules must allow TCP and UDP access. For inbound access, open port 53. /// For outbound access, open the port that you're using for DNS queries on your network. /// /// [AWSProperty(Required=true)] 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 Tags. /// /// A list of the tag keys and values that you want to associate with the endpoint. /// /// [AWSProperty(Max=200)] 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; } } }