/* * 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 lightsail-2016-11-28.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.Lightsail.Model { /// /// Container for the parameters to the CreateInstancesFromSnapshot operation. /// Creates one or more new instances from a manual or automatic snapshot of an instance. /// /// /// /// The create instances from snapshot operation supports tag-based access /// control via request tags and resource tags applied to the resource identified by instance /// snapshot name. For more information, see the Amazon /// Lightsail Developer Guide. /// /// public partial class CreateInstancesFromSnapshotRequest : AmazonLightsailRequest { private List _addOns = new List(); private Dictionary> _attachedDiskMapping = new Dictionary>(); private string _availabilityZone; private string _bundleId; private List _instanceNames = new List(); private string _instanceSnapshotName; private IpAddressType _ipAddressType; private string _keyPairName; private string _restoreDate; private string _sourceInstanceName; private List _tags = new List(); private bool? _useLatestRestorableAutoSnapshot; private string _userData; /// /// Gets and sets the property AddOns. /// /// An array of objects representing the add-ons to enable for the new instance. /// /// public List AddOns { get { return this._addOns; } set { this._addOns = value; } } // Check to see if AddOns property is set internal bool IsSetAddOns() { return this._addOns != null && this._addOns.Count > 0; } /// /// Gets and sets the property AttachedDiskMapping. /// /// An object containing information about one or more disk mappings. /// /// public Dictionary> AttachedDiskMapping { get { return this._attachedDiskMapping; } set { this._attachedDiskMapping = value; } } // Check to see if AttachedDiskMapping property is set internal bool IsSetAttachedDiskMapping() { return this._attachedDiskMapping != null && this._attachedDiskMapping.Count > 0; } /// /// Gets and sets the property AvailabilityZone. /// /// The Availability Zone where you want to create your instances. Use the following formatting: /// us-east-2a (case sensitive). You can get a list of Availability Zones /// by using the get /// regions operation. Be sure to add the include Availability Zones /// parameter to your request. /// /// [AWSProperty(Required=true)] public string AvailabilityZone { get { return this._availabilityZone; } set { this._availabilityZone = value; } } // Check to see if AvailabilityZone property is set internal bool IsSetAvailabilityZone() { return this._availabilityZone != null; } /// /// Gets and sets the property BundleId. /// /// The bundle of specification information for your virtual private server (or instance), /// including the pricing plan (e.g., micro_1_0). /// /// [AWSProperty(Required=true)] public string BundleId { get { return this._bundleId; } set { this._bundleId = value; } } // Check to see if BundleId property is set internal bool IsSetBundleId() { return this._bundleId != null; } /// /// Gets and sets the property InstanceNames. /// /// The names for your new instances. /// /// [AWSProperty(Required=true)] public List InstanceNames { get { return this._instanceNames; } set { this._instanceNames = value; } } // Check to see if InstanceNames property is set internal bool IsSetInstanceNames() { return this._instanceNames != null && this._instanceNames.Count > 0; } /// /// Gets and sets the property InstanceSnapshotName. /// /// The name of the instance snapshot on which you are basing your new instances. Use /// the get instance snapshots operation to return information about your existing snapshots. /// /// /// /// Constraint: /// ///
  • /// /// This parameter cannot be defined together with the source instance name /// parameter. The instance snapshot name and source instance name /// parameters are mutually exclusive. /// ///
///
public string InstanceSnapshotName { get { return this._instanceSnapshotName; } set { this._instanceSnapshotName = value; } } // Check to see if InstanceSnapshotName property is set internal bool IsSetInstanceSnapshotName() { return this._instanceSnapshotName != null; } /// /// Gets and sets the property IpAddressType. /// /// The IP address type for the instance. /// /// /// /// The possible values are ipv4 for IPv4 only, and dualstack /// for IPv4 and IPv6. /// /// /// /// The default value is dualstack. /// /// public IpAddressType IpAddressType { get { return this._ipAddressType; } set { this._ipAddressType = value; } } // Check to see if IpAddressType property is set internal bool IsSetIpAddressType() { return this._ipAddressType != null; } /// /// Gets and sets the property KeyPairName. /// /// The name for your key pair. /// /// public string KeyPairName { get { return this._keyPairName; } set { this._keyPairName = value; } } // Check to see if KeyPairName property is set internal bool IsSetKeyPairName() { return this._keyPairName != null; } /// /// Gets and sets the property RestoreDate. /// /// The date of the automatic snapshot to use for the new instance. Use the get /// auto snapshots operation to identify the dates of the available automatic snapshots. /// /// /// /// Constraints: /// ///
  • /// /// Must be specified in YYYY-MM-DD format. /// ///
  • /// /// This parameter cannot be defined together with the use latest restorable auto /// snapshot parameter. The restore date and use latest restorable /// auto snapshot parameters are mutually exclusive. /// ///
  • /// /// Define this parameter only when creating a new instance from an automatic snapshot. /// For more information, see the Amazon /// Lightsail Developer Guide. /// ///
///
public string RestoreDate { get { return this._restoreDate; } set { this._restoreDate = value; } } // Check to see if RestoreDate property is set internal bool IsSetRestoreDate() { return this._restoreDate != null; } /// /// Gets and sets the property SourceInstanceName. /// /// The name of the source instance from which the source automatic snapshot was created. /// /// /// /// Constraints: /// ///
  • /// /// This parameter cannot be defined together with the instance snapshot name /// parameter. The source instance name and instance snapshot name /// parameters are mutually exclusive. /// ///
  • /// /// Define this parameter only when creating a new instance from an automatic snapshot. /// For more information, see the Amazon /// Lightsail Developer Guide. /// ///
///
public string SourceInstanceName { get { return this._sourceInstanceName; } set { this._sourceInstanceName = value; } } // Check to see if SourceInstanceName property is set internal bool IsSetSourceInstanceName() { return this._sourceInstanceName != null; } /// /// Gets and sets the property Tags. /// /// The tag keys and optional values to add to the resource during create. /// /// /// /// Use the TagResource action to tag a resource after it's created. /// /// 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 UseLatestRestorableAutoSnapshot. /// /// A Boolean value to indicate whether to use the latest available automatic snapshot. /// /// /// /// Constraints: /// ///
  • /// /// This parameter cannot be defined together with the restore date parameter. /// The use latest restorable auto snapshot and restore date /// parameters are mutually exclusive. /// ///
  • /// /// Define this parameter only when creating a new instance from an automatic snapshot. /// For more information, see the Amazon /// Lightsail Developer Guide. /// ///
///
public bool UseLatestRestorableAutoSnapshot { get { return this._useLatestRestorableAutoSnapshot.GetValueOrDefault(); } set { this._useLatestRestorableAutoSnapshot = value; } } // Check to see if UseLatestRestorableAutoSnapshot property is set internal bool IsSetUseLatestRestorableAutoSnapshot() { return this._useLatestRestorableAutoSnapshot.HasValue; } /// /// Gets and sets the property UserData. /// /// You can create a launch script that configures a server with additional user data. /// For example, apt-get -y update. /// /// /// /// Depending on the machine image you choose, the command to get software on your instance /// varies. Amazon Linux and CentOS use yum, Debian and Ubuntu use apt-get, /// and FreeBSD uses pkg. For a complete list, see the Amazon /// Lightsail Developer Guide. /// /// /// public string UserData { get { return this._userData; } set { this._userData = value; } } // Check to see if UserData property is set internal bool IsSetUserData() { return this._userData != null; } } }