/*
* 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 snowball-2016-06-30.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.Snowball.Model
{
///
/// Contains metadata about a specific cluster.
///
public partial class ClusterMetadata
{
private string _addressId;
private string _clusterId;
private ClusterState _clusterState;
private DateTime? _creationDate;
private string _description;
private string _forwardingAddressId;
private JobType _jobType;
private string _kmsKeyARN;
private Notification _notification;
private OnDeviceServiceConfiguration _onDeviceServiceConfiguration;
private JobResource _resources;
private string _roleARN;
private ShippingOption _shippingOption;
private SnowballType _snowballType;
private TaxDocuments _taxDocuments;
///
/// Gets and sets the property AddressId.
///
/// The automatically generated ID for a specific address.
///
///
[AWSProperty(Min=40, Max=40)]
public string AddressId
{
get { return this._addressId; }
set { this._addressId = value; }
}
// Check to see if AddressId property is set
internal bool IsSetAddressId()
{
return this._addressId != null;
}
///
/// Gets and sets the property ClusterId.
///
/// The automatically generated ID for a cluster.
///
///
[AWSProperty(Min=1, Max=1024)]
public string ClusterId
{
get { return this._clusterId; }
set { this._clusterId = value; }
}
// Check to see if ClusterId property is set
internal bool IsSetClusterId()
{
return this._clusterId != null;
}
///
/// Gets and sets the property ClusterState.
///
/// The current status of the cluster.
///
///
public ClusterState ClusterState
{
get { return this._clusterState; }
set { this._clusterState = value; }
}
// Check to see if ClusterState property is set
internal bool IsSetClusterState()
{
return this._clusterState != null;
}
///
/// Gets and sets the property CreationDate.
///
/// The creation date for this cluster.
///
///
public DateTime CreationDate
{
get { return this._creationDate.GetValueOrDefault(); }
set { this._creationDate = value; }
}
// Check to see if CreationDate property is set
internal bool IsSetCreationDate()
{
return this._creationDate.HasValue;
}
///
/// Gets and sets the property Description.
///
/// The optional description of the cluster.
///
///
[AWSProperty(Min=1, Max=1024)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property ForwardingAddressId.
///
/// The ID of the address that you want a cluster shipped to, after it will be shipped
/// to its primary address. This field is not supported in most regions.
///
///
[AWSProperty(Min=40, Max=40)]
public string ForwardingAddressId
{
get { return this._forwardingAddressId; }
set { this._forwardingAddressId = value; }
}
// Check to see if ForwardingAddressId property is set
internal bool IsSetForwardingAddressId()
{
return this._forwardingAddressId != null;
}
///
/// Gets and sets the property JobType.
///
/// The type of job for this cluster. Currently, the only job type supported for clusters
/// is LOCAL_USE
.
///
///
public JobType JobType
{
get { return this._jobType; }
set { this._jobType = value; }
}
// Check to see if JobType property is set
internal bool IsSetJobType()
{
return this._jobType != null;
}
///
/// Gets and sets the property KmsKeyARN.
///
/// The KmsKeyARN
Amazon Resource Name (ARN) associated with this cluster.
/// This ARN was created using the CreateKey
/// API action in Key Management Service (KMS.
///
///
[AWSProperty(Max=255)]
public string KmsKeyARN
{
get { return this._kmsKeyARN; }
set { this._kmsKeyARN = value; }
}
// Check to see if KmsKeyARN property is set
internal bool IsSetKmsKeyARN()
{
return this._kmsKeyARN != null;
}
///
/// Gets and sets the property Notification.
///
/// The Amazon Simple Notification Service (Amazon SNS) notification settings for this
/// cluster.
///
///
public Notification Notification
{
get { return this._notification; }
set { this._notification = value; }
}
// Check to see if Notification property is set
internal bool IsSetNotification()
{
return this._notification != null;
}
///
/// Gets and sets the property OnDeviceServiceConfiguration.
///
/// Represents metadata and configuration settings for services on an Amazon Web Services
/// Snow Family device.
///
///
public OnDeviceServiceConfiguration OnDeviceServiceConfiguration
{
get { return this._onDeviceServiceConfiguration; }
set { this._onDeviceServiceConfiguration = value; }
}
// Check to see if OnDeviceServiceConfiguration property is set
internal bool IsSetOnDeviceServiceConfiguration()
{
return this._onDeviceServiceConfiguration != null;
}
///
/// Gets and sets the property Resources.
///
/// The arrays of JobResource objects that can include updated S3Resource
/// objects or LambdaResource objects.
///
///
public JobResource Resources
{
get { return this._resources; }
set { this._resources = value; }
}
// Check to see if Resources property is set
internal bool IsSetResources()
{
return this._resources != null;
}
///
/// Gets and sets the property RoleARN.
///
/// The role ARN associated with this cluster. This ARN was created using the CreateRole
/// API action in Identity and Access Management (IAM).
///
///
[AWSProperty(Max=255)]
public string RoleARN
{
get { return this._roleARN; }
set { this._roleARN = value; }
}
// Check to see if RoleARN property is set
internal bool IsSetRoleARN()
{
return this._roleARN != null;
}
///
/// Gets and sets the property ShippingOption.
///
/// The shipping speed for each node in this cluster. This speed doesn't dictate how soon
/// you'll get each device, rather it represents how quickly each device moves to its
/// destination while in transit. Regional shipping speeds are as follows:
///
/// -
///
/// In Australia, you have access to express shipping. Typically, devices shipped express
/// are delivered in about a day.
///
///
-
///
/// In the European Union (EU), you have access to express shipping. Typically, Snow devices
/// shipped express are delivered in about a day. In addition, most countries in the EU
/// have access to standard shipping, which typically takes less than a week, one way.
///
///
-
///
/// In India, Snow devices are delivered in one to seven days.
///
///
-
///
/// In the US, you have access to one-day shipping and two-day shipping.
///
///
///
public ShippingOption ShippingOption
{
get { return this._shippingOption; }
set { this._shippingOption = value; }
}
// Check to see if ShippingOption property is set
internal bool IsSetShippingOption()
{
return this._shippingOption != null;
}
///
/// Gets and sets the property SnowballType.
///
/// The type of Snowcone device to use for this cluster.
///
///
///
/// For cluster jobs, Amazon Web Services Snow Family currently supports only the EDGE
/// device type.
///
///
///
public SnowballType SnowballType
{
get { return this._snowballType; }
set { this._snowballType = value; }
}
// Check to see if SnowballType property is set
internal bool IsSetSnowballType()
{
return this._snowballType != null;
}
///
/// Gets and sets the property TaxDocuments.
///
/// The tax documents required in your Amazon Web Services Region.
///
///
public TaxDocuments TaxDocuments
{
get { return this._taxDocuments; }
set { this._taxDocuments = value; }
}
// Check to see if TaxDocuments property is set
internal bool IsSetTaxDocuments()
{
return this._taxDocuments != null;
}
}
}