/* * 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 servicediscovery-2017-03-14.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.ServiceDiscovery.Model { /// /// A complex type that contains information about an instance that Cloud Map creates /// when you submit a RegisterInstance request. /// public partial class Instance { private Dictionary _attributes = new Dictionary(); private string _creatorRequestId; private string _id; /// /// Gets and sets the property Attributes. /// /// A string map that contains the following information for the service that you specify /// in ServiceId: /// ///
  • /// /// The attributes that apply to the records that are defined in the service. /// ///
  • /// /// For each attribute, the applicable value. /// ///
/// /// Do not include sensitive information in the attributes if the namespace is discoverable /// by public DNS queries. /// /// /// /// Supported attribute keys include the following: /// ///
AWS_ALIAS_DNS_NAME
/// /// If you want Cloud Map to create a Route 53 alias record that routes traffic to an /// Elastic Load Balancing load balancer, specify the DNS name that's associated with /// the load balancer. For information about how to get the DNS name, see AliasTarget->DNSName /// in the Route 53 API Reference. /// /// /// /// Note the following: /// ///
  • /// /// The configuration for the service that's specified by ServiceId must /// include settings for an A record, an AAAA record, or both. /// ///
  • /// /// In the service that's specified by ServiceId, the value of RoutingPolicy /// must be WEIGHTED. /// ///
  • /// /// If the service that's specified by ServiceId includes HealthCheckConfig /// settings, Cloud Map creates the health check, but it won't associate the health check /// with the alias record. /// ///
  • /// /// Auto naming currently doesn't support creating alias records that route traffic to /// Amazon Web Services resources other than ELB load balancers. /// ///
  • /// /// If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for /// any of the AWS_INSTANCE attributes. /// ///
AWS_EC2_INSTANCE_ID
/// /// HTTP namespaces only. The Amazon EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 /// attribute contains the primary private IPv4 address. /// ///
AWS_INIT_HEALTH_STATUS
/// /// If the service configuration includes HealthCheckCustomConfig, you can /// optionally use AWS_INIT_HEALTH_STATUS to specify the initial status of /// the custom health check, HEALTHY or UNHEALTHY. If you don't /// specify a value for AWS_INIT_HEALTH_STATUS, the initial status is HEALTHY. /// ///
AWS_INSTANCE_CNAME
/// /// If the service configuration includes a CNAME record, the domain name /// that you want Route 53 to return in response to DNS queries (for example, example.com). /// /// /// /// This value is required if the service specified by ServiceId includes /// settings for an CNAME record. /// ///
AWS_INSTANCE_IPV4
/// /// If the service configuration includes an A record, the IPv4 address that /// you want Route 53 to return in response to DNS queries (for example, 192.0.2.44). /// /// /// /// This value is required if the service specified by ServiceId includes /// settings for an A record. If the service includes settings for an SRV /// record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, /// or both. /// ///
AWS_INSTANCE_IPV6
/// /// If the service configuration includes an AAAA record, the IPv6 address /// that you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345). /// /// /// /// This value is required if the service specified by ServiceId includes /// settings for an AAAA record. If the service includes settings for an /// SRV record, you must specify a value for AWS_INSTANCE_IPV4, /// AWS_INSTANCE_IPV6, or both. /// ///
AWS_INSTANCE_PORT
/// /// If the service includes an SRV record, the value that you want Route 53 /// to return for the port. /// /// /// /// If the service includes HealthCheckConfig, the port on the endpoint that /// you want Route 53 to send requests to. /// /// /// /// This value is required if you specified settings for an SRV record or /// a Route 53 health check when you created the service. /// ///
///
public Dictionary Attributes { get { return this._attributes; } set { this._attributes = value; } } // Check to see if Attributes property is set internal bool IsSetAttributes() { return this._attributes != null && this._attributes.Count > 0; } /// /// Gets and sets the property CreatorRequestId. /// /// A unique string that identifies the request and that allows failed RegisterInstance /// requests to be retried without the risk of executing the operation twice. You must /// use a unique CreatorRequestId string every time you submit a RegisterInstance /// request if you're registering additional instances for the same namespace and service. /// CreatorRequestId can be any unique string (for example, a date/time stamp). /// /// [AWSProperty(Max=64)] 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 Id. /// /// An identifier that you want to associate with the instance. Note the following: /// ///
  • /// /// If the service that's specified by ServiceId includes settings for an /// SRV record, the value of InstanceId is automatically included /// as part of the value for the SRV record. For more information, see DnsRecord /// > Type. /// ///
  • /// /// You can use this value to update an existing instance. /// ///
  • /// /// To register a new instance, you must specify a value that's unique among instances /// that you register by using the same service. /// ///
  • /// /// If you specify an existing InstanceId and ServiceId, Cloud /// Map updates the existing DNS records. If there's also an existing health check, Cloud /// Map deletes the old health check and creates a new one. /// /// /// /// The health check isn't deleted immediately, so it will still appear for a while if /// you submit a ListHealthChecks request, for example. /// ///
///
[AWSProperty(Required=true, Max=64)] public string Id { get { return this._id; } set { this._id = value; } } // Check to see if Id property is set internal bool IsSetId() { return this._id != null; } } }