/*
* 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
{
///
/// A complex type that contains settings for the new traffic policy instance.
///
public partial class TrafficPolicyInstance
{
private string _id;
private string _hostedZoneId;
private string _name;
private long? _ttl;
private string _state;
private string _message;
private string _trafficPolicyId;
private int? _trafficPolicyVersion;
private RRType _trafficPolicyType;
///
/// Gets and sets the property Id.
///
/// The ID that Amazon Route 53 assigned to the new traffic policy instance.
///
///
[AWSProperty(Required=true, Min=1, Max=36)]
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;
}
///
/// Gets and sets the property HostedZoneId.
///
/// The ID of the hosted zone that Amazon Route 53 created resource record sets in.
///
///
[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 Name.
///
/// The DNS name, such as www.example.com, for which Amazon Route 53 responds to queries
/// by using the resource record sets that are associated with this traffic policy instance.
///
///
///
[AWSProperty(Required=true, Max=1024)]
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 TTL.
///
/// The TTL that Amazon Route 53 assigned to all of the resource record sets that it created
/// in the specified hosted zone.
///
///
[AWSProperty(Required=true, Min=0, Max=2147483647)]
public long TTL
{
get { return this._ttl.GetValueOrDefault(); }
set { this._ttl = value; }
}
// Check to see if TTL property is set
internal bool IsSetTTL()
{
return this._ttl.HasValue;
}
///
/// Gets and sets the property State.
///
/// The value of State
is one of the following values:
///
/// - Applied
-
///
/// Amazon Route 53 has finished creating resource record sets, and changes have propagated
/// to all Route 53 edge locations.
///
///
- Creating
-
///
/// Route 53 is creating the resource record sets. Use
GetTrafficPolicyInstance
/// to confirm that the CreateTrafficPolicyInstance
request completed successfully.
///
/// - Failed
-
///
/// Route 53 wasn't able to create or update the resource record sets. When the value
/// of
State
is Failed
, see Message
for an explanation
/// of what caused the request to fail.
///
///
///
[AWSProperty(Required=true)]
public string State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property Message.
///
/// If State
is Failed
, an explanation of the reason for the
/// failure. If State
is another value, Message
is empty.
///
///
[AWSProperty(Required=true, Max=1024)]
public string Message
{
get { return this._message; }
set { this._message = value; }
}
// Check to see if Message property is set
internal bool IsSetMessage()
{
return this._message != null;
}
///
/// Gets and sets the property TrafficPolicyId.
///
/// The ID of the traffic policy that Amazon Route 53 used to create resource record sets
/// in the specified hosted zone.
///
///
[AWSProperty(Required=true, Min=1, Max=36)]
public string TrafficPolicyId
{
get { return this._trafficPolicyId; }
set { this._trafficPolicyId = value; }
}
// Check to see if TrafficPolicyId property is set
internal bool IsSetTrafficPolicyId()
{
return this._trafficPolicyId != null;
}
///
/// Gets and sets the property TrafficPolicyVersion.
///
/// The version of the traffic policy that Amazon Route 53 used to create resource record
/// sets in the specified hosted zone.
///
///
[AWSProperty(Required=true, Min=1, Max=1000)]
public int TrafficPolicyVersion
{
get { return this._trafficPolicyVersion.GetValueOrDefault(); }
set { this._trafficPolicyVersion = value; }
}
// Check to see if TrafficPolicyVersion property is set
internal bool IsSetTrafficPolicyVersion()
{
return this._trafficPolicyVersion.HasValue;
}
///
/// Gets and sets the property TrafficPolicyType.
///
/// The DNS type that Amazon Route 53 assigned to all of the resource record sets that
/// it created for this traffic policy instance.
///
///
[AWSProperty(Required=true)]
public RRType TrafficPolicyType
{
get { return this._trafficPolicyType; }
set { this._trafficPolicyType = value; }
}
// Check to see if TrafficPolicyType property is set
internal bool IsSetTrafficPolicyType()
{
return this._trafficPolicyType != null;
}
}
}