/*
* 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 information about a specific job including shipping information, job status,
/// and other important metadata. This information is returned as a part of the response
/// syntax of the DescribeJob
action.
///
public partial class JobMetadata
{
private string _addressId;
private string _clusterId;
private DateTime? _creationDate;
private DataTransfer _dataTransferProgress;
private string _description;
private DeviceConfiguration _deviceConfiguration;
private string _forwardingAddressId;
private ImpactLevel _impactLevel;
private string _jobId;
private JobLogs _jobLogInfo;
private JobState _jobState;
private JobType _jobType;
private string _kmsKeyARN;
private string _longTermPricingId;
private Notification _notification;
private OnDeviceServiceConfiguration _onDeviceServiceConfiguration;
private PickupDetails _pickupDetails;
private RemoteManagement _remoteManagement;
private JobResource _resources;
private string _roleARN;
private ShippingDetails _shippingDetails;
private SnowballCapacity _snowballCapacityPreference;
private string _snowballId;
private SnowballType _snowballType;
private TaxDocuments _taxDocuments;
///
/// Gets and sets the property AddressId.
///
/// The ID for the address that you want the Snow device shipped to.
///
///
[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 39-character ID for the cluster, for example CID123e4567-e89b-12d3-a456-426655440000
.
///
///
[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 CreationDate.
///
/// The creation date for this job.
///
///
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 DataTransferProgress.
///
/// A value that defines the real-time status of a Snow device's data transfer while the
/// device is at Amazon Web Services. This data is only available while a job has a JobState
/// value of InProgress
, for both import and export jobs.
///
///
public DataTransfer DataTransferProgress
{
get { return this._dataTransferProgress; }
set { this._dataTransferProgress = value; }
}
// Check to see if DataTransferProgress property is set
internal bool IsSetDataTransferProgress()
{
return this._dataTransferProgress != null;
}
///
/// Gets and sets the property Description.
///
/// The description of the job, provided at job creation.
///
///
[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 DeviceConfiguration.
///
public DeviceConfiguration DeviceConfiguration
{
get { return this._deviceConfiguration; }
set { this._deviceConfiguration = value; }
}
// Check to see if DeviceConfiguration property is set
internal bool IsSetDeviceConfiguration()
{
return this._deviceConfiguration != null;
}
///
/// Gets and sets the property ForwardingAddressId.
///
/// The ID of the address that you want a job 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 ImpactLevel.
///
/// The highest impact level of data that will be stored or processed on the device, provided
/// at job creation.
///
///
public ImpactLevel ImpactLevel
{
get { return this._impactLevel; }
set { this._impactLevel = value; }
}
// Check to see if ImpactLevel property is set
internal bool IsSetImpactLevel()
{
return this._impactLevel != null;
}
///
/// Gets and sets the property JobId.
///
/// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000
.
///
///
[AWSProperty(Min=1, Max=1024)]
public string JobId
{
get { return this._jobId; }
set { this._jobId = value; }
}
// Check to see if JobId property is set
internal bool IsSetJobId()
{
return this._jobId != null;
}
///
/// Gets and sets the property JobLogInfo.
///
/// Links to Amazon S3 presigned URLs for the job report and logs. For import jobs, the
/// PDF job report becomes available at the end of the import process. For export jobs,
/// your job report typically becomes available while the Snow device for your job part
/// is being delivered to you.
///
///
public JobLogs JobLogInfo
{
get { return this._jobLogInfo; }
set { this._jobLogInfo = value; }
}
// Check to see if JobLogInfo property is set
internal bool IsSetJobLogInfo()
{
return this._jobLogInfo != null;
}
///
/// Gets and sets the property JobState.
///
/// The current status of the jobs.
///
///
public JobState JobState
{
get { return this._jobState; }
set { this._jobState = value; }
}
// Check to see if JobState property is set
internal bool IsSetJobState()
{
return this._jobState != null;
}
///
/// Gets and sets the property JobType.
///
/// The type of job.
///
///
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 Amazon Resource Name (ARN) for the Key Management Service (KMS) key associated
/// with this job. This ARN was created using the CreateKey
/// API action in 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 LongTermPricingId.
///
/// The ID of the long-term pricing type for the device.
///
///
[AWSProperty(Min=41, Max=41)]
public string LongTermPricingId
{
get { return this._longTermPricingId; }
set { this._longTermPricingId = value; }
}
// Check to see if LongTermPricingId property is set
internal bool IsSetLongTermPricingId()
{
return this._longTermPricingId != null;
}
///
/// Gets and sets the property Notification.
///
/// The Amazon Simple Notification Service (Amazon SNS) notification settings associated
/// with a specific job. The Notification
object is returned as a part of
/// the response syntax of the DescribeJob
action in the JobMetadata
/// data type.
///
///
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 PickupDetails.
///
/// Information identifying the person picking up the device.
///
///
public PickupDetails PickupDetails
{
get { return this._pickupDetails; }
set { this._pickupDetails = value; }
}
// Check to see if PickupDetails property is set
internal bool IsSetPickupDetails()
{
return this._pickupDetails != null;
}
///
/// Gets and sets the property RemoteManagement.
///
/// Allows you to securely operate and manage Snowcone devices remotely from outside of
/// your internal network. When set to INSTALLED_AUTOSTART
, remote management
/// will automatically be available when the device arrives at your location. Otherwise,
/// you need to use the Snowball Client to manage the device.
///
///
public RemoteManagement RemoteManagement
{
get { return this._remoteManagement; }
set { this._remoteManagement = value; }
}
// Check to see if RemoteManagement property is set
internal bool IsSetRemoteManagement()
{
return this._remoteManagement != null;
}
///
/// Gets and sets the property Resources.
///
/// An array of S3Resource
objects. Each S3Resource
object represents
/// an Amazon S3 bucket that your transferred data will be exported from or imported into.
///
///
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 job. This ARN was created using the CreateRole
/// API action in Identity and Access Management.
///
///
[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 ShippingDetails.
///
/// A job's shipping information, including inbound and outbound tracking numbers and
/// shipping speed options.
///
///
public ShippingDetails ShippingDetails
{
get { return this._shippingDetails; }
set { this._shippingDetails = value; }
}
// Check to see if ShippingDetails property is set
internal bool IsSetShippingDetails()
{
return this._shippingDetails != null;
}
///
/// Gets and sets the property SnowballCapacityPreference.
///
/// The Snow device capacity preference for this job, specified at job creation. In US
/// regions, you can choose between 50 TB and 80 TB Snowballs. All other regions use 80
/// TB capacity Snowballs.
///
///
///
/// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
/// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
/// (Snow Family Devices and Capacity) in the Snowcone User Guide.
///
///
public SnowballCapacity SnowballCapacityPreference
{
get { return this._snowballCapacityPreference; }
set { this._snowballCapacityPreference = value; }
}
// Check to see if SnowballCapacityPreference property is set
internal bool IsSetSnowballCapacityPreference()
{
return this._snowballCapacityPreference != null;
}
///
/// Gets and sets the property SnowballId.
///
/// Unique ID associated with a device.
///
///
[AWSProperty(Min=1, Max=1024)]
public string SnowballId
{
get { return this._snowballId; }
set { this._snowballId = value; }
}
// Check to see if SnowballId property is set
internal bool IsSetSnowballId()
{
return this._snowballId != null;
}
///
/// Gets and sets the property SnowballType.
///
/// The type of device used with this job.
///
///
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 metadata associated with 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;
}
}
}