/* * 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 route53-2013-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.Route53.Model { /// /// Container for the parameters to the ChangeResourceRecordSets operation. /// Creates, changes, or deletes a resource record set, which contains authoritative DNS /// information for a specified domain name or subdomain name. For example, you can use /// ChangeResourceRecordSets to create a resource record set that routes /// traffic for test.example.com to a web server that has an IP address of 192.0.2.44. /// /// /// /// Deleting Resource Record Sets /// /// /// /// To delete a resource record set, you must specify all the same values that you specified /// when you created it. /// /// /// /// Change Batches and Transactional Changes /// /// /// /// The request body must include a document with a ChangeResourceRecordSetsRequest /// element. The request body contains a list of change items, known as a change batch. /// Change batches are considered transactional changes. Route 53 validates the changes /// in the request and then either makes all or none of the changes in the change batch /// request. This ensures that DNS routing isn't adversely affected by partial changes /// to the resource record sets in a hosted zone. /// /// /// /// For example, suppose a change batch request contains two changes: it deletes the CNAME /// resource record set for www.example.com and creates an alias resource record set for /// www.example.com. If validation for both records succeeds, Route 53 deletes the first /// resource record set and creates the second resource record set in a single operation. /// If validation for either the DELETE or the CREATE action /// fails, then the request is canceled, and the original CNAME record continues /// to exist. /// /// /// /// If you try to delete the same resource record set more than once in a single change /// batch, Route 53 returns an InvalidChangeBatch error. /// /// /// /// Traffic Flow /// /// /// /// To create resource record sets for complex routing configurations, use either the /// traffic flow visual editor in the Route 53 console or the API actions for traffic /// policies and traffic policy instances. Save the configuration as a traffic policy, /// then associate the traffic policy with one or more domain names (such as example.com) /// or subdomain names (such as www.example.com), in the same hosted zone or in multiple /// hosted zones. You can roll back the updates if the new configuration isn't performing /// as expected. For more information, see Using /// Traffic Flow to Route DNS Traffic in the Amazon Route 53 Developer Guide. /// /// /// /// Create, Delete, and Upsert /// /// /// /// Use ChangeResourceRecordsSetsRequest to perform the following actions: /// /// /// /// Syntaxes for Creating, Updating, and Deleting Resource Record Sets /// /// /// /// The syntax for a request depends on the type of resource record set that you want /// to create, delete, or update, such as weighted, alias, or failover. The XML elements /// in your request must appear in the order listed in the syntax. /// /// /// /// For an example for each type of resource record set, see "Examples." /// /// /// /// Don't refer to the syntax in the "Parameter Syntax" section, which includes all of /// the elements for every kind of resource record set that you can create, delete, or /// update by using ChangeResourceRecordSets. /// /// /// /// Change Propagation to Route 53 DNS Servers /// /// /// /// When you submit a ChangeResourceRecordSets request, Route 53 propagates /// your changes to all of the Route 53 authoritative DNS servers managing the hosted /// zone. While your changes are propagating, GetChange returns a status /// of PENDING. When propagation is complete, GetChange returns /// a status of INSYNC. Changes generally propagate to all Route 53 name /// servers managing the hosted zone within 60 seconds. For more information, see GetChange. /// /// /// /// Limits on ChangeResourceRecordSets Requests /// /// /// /// For information about the limits on a ChangeResourceRecordSets request, /// see Limits /// in the Amazon Route 53 Developer Guide. /// /// public partial class ChangeResourceRecordSetsRequest : AmazonRoute53Request { private string _hostedZoneId; private ChangeBatch _changeBatch; /// /// Empty constructor used to set properties independently even when a simple constructor is available /// public ChangeResourceRecordSetsRequest() { } /// /// Instantiates ChangeResourceRecordSetsRequest with the parameterized properties /// /// The ID of the hosted zone that contains the resource record sets that you want to change. /// A complex type that contains an optional comment and the Changes element. public ChangeResourceRecordSetsRequest(string hostedZoneId, ChangeBatch changeBatch) { _hostedZoneId = hostedZoneId; _changeBatch = changeBatch; } /// /// Gets and sets the property HostedZoneId. /// /// The ID of the hosted zone that contains the resource record sets that you want to /// change. /// /// [AWSProperty(Required=true, Max=32)] public string HostedZoneId { get { return this._hostedZoneId; } set { this._hostedZoneId = value; } } // Check to see if HostedZoneId property is set internal bool IsSetHostedZoneId() { return this._hostedZoneId != null; } /// /// Gets and sets the property ChangeBatch. /// /// A complex type that contains an optional comment and the Changes element. /// /// [AWSProperty(Required=true)] public ChangeBatch ChangeBatch { get { return this._changeBatch; } set { this._changeBatch = value; } } // Check to see if ChangeBatch property is set internal bool IsSetChangeBatch() { return this._changeBatch != null; } } }