/* * 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 storagegateway-2013-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.StorageGateway.Model { /// /// Container for the parameters to the CreateTapes operation. /// Creates one or more virtual tapes. You write data to the virtual tapes and then archive /// the tapes. This operation is only supported in the tape gateway type. /// /// /// /// Cache storage must be allocated to the gateway before you can create virtual tapes. /// Use the AddCache operation to add cache storage to a gateway. /// /// /// public partial class CreateTapesRequest : AmazonStorageGatewayRequest { private string _clientToken; private string _gatewayARN; private bool? _kmsEncrypted; private string _kmsKey; private int? _numTapesToCreate; private string _poolId; private List _tags = new List(); private string _tapeBarcodePrefix; private long? _tapeSizeInBytes; private bool? _worm; /// /// Gets and sets the property ClientToken. /// /// A unique identifier that you use to retry a request. If you retry a request, use the /// same ClientToken you specified in the initial request. /// /// /// /// Using the same ClientToken prevents creating the tape multiple times. /// /// /// [AWSProperty(Required=true, Min=5, Max=100)] public string ClientToken { get { return this._clientToken; } set { this._clientToken = value; } } // Check to see if ClientToken property is set internal bool IsSetClientToken() { return this._clientToken != null; } /// /// Gets and sets the property GatewayARN. /// /// The unique Amazon Resource Name (ARN) that represents the gateway to associate the /// virtual tapes with. Use the ListGateways operation to return a list of gateways /// for your account and Amazon Web Services Region. /// /// [AWSProperty(Required=true, Min=50, Max=500)] public string GatewayARN { get { return this._gatewayARN; } set { this._gatewayARN = value; } } // Check to see if GatewayARN property is set internal bool IsSetGatewayARN() { return this._gatewayARN != null; } /// /// Gets and sets the property KMSEncrypted. /// /// Set to true to use Amazon S3 server-side encryption with your own KMS /// key, or false to use a key managed by Amazon S3. Optional. /// /// /// /// Valid Values: true | false /// /// public bool KMSEncrypted { get { return this._kmsEncrypted.GetValueOrDefault(); } set { this._kmsEncrypted = value; } } // Check to see if KMSEncrypted property is set internal bool IsSetKMSEncrypted() { return this._kmsEncrypted.HasValue; } /// /// Gets and sets the property KMSKey. /// /// The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon /// S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This /// value can only be set when KMSEncrypted is true. Optional. /// /// [AWSProperty(Min=7, Max=2048)] public string KMSKey { get { return this._kmsKey; } set { this._kmsKey = value; } } // Check to see if KMSKey property is set internal bool IsSetKMSKey() { return this._kmsKey != null; } /// /// Gets and sets the property NumTapesToCreate. /// /// The number of virtual tapes that you want to create. /// /// [AWSProperty(Required=true, Min=1, Max=10)] public int NumTapesToCreate { get { return this._numTapesToCreate.GetValueOrDefault(); } set { this._numTapesToCreate = value; } } // Check to see if NumTapesToCreate property is set internal bool IsSetNumTapesToCreate() { return this._numTapesToCreate.HasValue; } /// /// Gets and sets the property PoolId. /// /// The ID of the pool that you want to add your tape to for archiving. The tape in this /// pool is archived in the S3 storage class that is associated with the pool. When you /// use your backup application to eject the tape, the tape is archived directly into /// the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the /// pool. /// /// [AWSProperty(Min=1, Max=100)] public string PoolId { get { return this._poolId; } set { this._poolId = value; } } // Check to see if PoolId property is set internal bool IsSetPoolId() { return this._poolId != null; } /// /// Gets and sets the property Tags. /// /// A list of up to 50 tags that can be assigned to a virtual tape. Each tag is a key-value /// pair. /// /// /// /// Valid characters for key and value are letters, spaces, and numbers representable /// in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum /// length of a tag's key is 128 characters, and the maximum length for a tag's value /// is 256. /// /// /// public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property TapeBarcodePrefix. /// /// A prefix that you append to the barcode of the virtual tape you are creating. This /// prefix makes the barcode unique. /// /// /// /// The prefix must be 1-4 characters in length and must be one of the uppercase letters /// from A to Z. /// /// /// [AWSProperty(Required=true, Min=1, Max=4)] public string TapeBarcodePrefix { get { return this._tapeBarcodePrefix; } set { this._tapeBarcodePrefix = value; } } // Check to see if TapeBarcodePrefix property is set internal bool IsSetTapeBarcodePrefix() { return this._tapeBarcodePrefix != null; } /// /// Gets and sets the property TapeSizeInBytes. /// /// The size, in bytes, of the virtual tapes that you want to create. /// /// /// /// The size must be aligned by gigabyte (1024*1024*1024 bytes). /// /// /// [AWSProperty(Required=true)] public long TapeSizeInBytes { get { return this._tapeSizeInBytes.GetValueOrDefault(); } set { this._tapeSizeInBytes = value; } } // Check to see if TapeSizeInBytes property is set internal bool IsSetTapeSizeInBytes() { return this._tapeSizeInBytes.HasValue; } /// /// Gets and sets the property Worm. /// /// Set to TRUE if the tape you are creating is to be configured as a write-once-read-many /// (WORM) tape. /// /// public bool Worm { get { return this._worm.GetValueOrDefault(); } set { this._worm = value; } } // Check to see if Worm property is set internal bool IsSetWorm() { return this._worm.HasValue; } } }