/* * 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 ec2-2016-11-15.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.EC2.Model { /// /// Container for the parameters to the ImportImage operation. /// /// /// To import your virtual machines (VMs) with a console-based experience, you can use /// the Import virtual machine images to Amazon Web Services template in the Migration Hub Orchestrator /// console. For more information, see the /// Migration Hub Orchestrator User Guide . /// /// /// /// Import single or multi-volume disk images or EBS snapshots into an Amazon Machine /// Image (AMI). /// /// /// /// Amazon Web Services VM Import/Export strongly recommends specifying a value for either /// the --license-type or --usage-operation parameter when you /// create a new VM Import task. This ensures your operating system is licensed appropriately /// and your billing is optimized. /// /// /// /// For more information, see Importing /// a VM as an image using VM Import/Export in the VM Import/Export User Guide. /// /// public partial class ImportImageRequest : AmazonEC2Request { private string _architecture; private BootModeValues _bootMode; private ClientData _clientData; private string _clientToken; private string _description; private List _diskContainers = new List(); private bool? _encrypted; private string _hypervisor; private string _kmsKeyId; private List _licenseSpecifications = new List(); private string _licenseType; private string _platform; private string _roleName; private List _tagSpecifications = new List(); private string _usageOperation; /// /// Gets and sets the property Architecture. /// /// The architecture of the virtual machine. /// /// /// /// Valid values: i386 | x86_64 /// /// public string Architecture { get { return this._architecture; } set { this._architecture = value; } } // Check to see if Architecture property is set internal bool IsSetArchitecture() { return this._architecture != null; } /// /// Gets and sets the property BootMode. /// /// The boot mode of the virtual machine. /// /// public BootModeValues BootMode { get { return this._bootMode; } set { this._bootMode = value; } } // Check to see if BootMode property is set internal bool IsSetBootMode() { return this._bootMode != null; } /// /// Gets and sets the property ClientData. /// /// The client-specific data. /// /// public ClientData ClientData { get { return this._clientData; } set { this._clientData = value; } } // Check to see if ClientData property is set internal bool IsSetClientData() { return this._clientData != null; } /// /// Gets and sets the property ClientToken. /// /// The token to enable idempotency for VM import requests. /// /// 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 Description. /// /// A description string for the import image task. /// /// 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 DiskContainers. /// /// Information about the disk containers. /// /// public List DiskContainers { get { return this._diskContainers; } set { this._diskContainers = value; } } // Check to see if DiskContainers property is set internal bool IsSetDiskContainers() { return this._diskContainers != null && this._diskContainers.Count > 0; } /// /// Gets and sets the property Encrypted. /// /// Specifies whether the destination AMI of the imported image should be encrypted. The /// default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId. /// For more information, see Amazon /// EBS Encryption in the Amazon Elastic Compute Cloud User Guide. /// /// public bool Encrypted { get { return this._encrypted.GetValueOrDefault(); } set { this._encrypted = value; } } // Check to see if Encrypted property is set internal bool IsSetEncrypted() { return this._encrypted.HasValue; } /// /// Gets and sets the property Hypervisor. /// /// The target hypervisor platform. /// /// /// /// Valid values: xen /// /// public string Hypervisor { get { return this._hypervisor; } set { this._hypervisor = value; } } // Check to see if Hypervisor property is set internal bool IsSetHypervisor() { return this._hypervisor != null; } /// /// Gets and sets the property KmsKeyId. /// /// An identifier for the symmetric KMS key to use when creating the encrypted AMI. This /// parameter is only required if you want to use a non-default KMS key; if this parameter /// is not specified, the default KMS key for EBS is used. If a KmsKeyId /// is specified, the Encrypted flag must also be set. /// /// /// /// The KMS key identifier may be provided in any of the following formats: /// ///
  • /// /// Key ID /// ///
  • /// /// Key alias /// ///
  • /// /// ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed /// by the Region of the key, the Amazon Web Services account ID of the key owner, the /// key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. /// ///
  • /// /// ARN using key alias. The alias ARN contains the arn:aws:kms namespace, /// followed by the Region of the key, the Amazon Web Services account ID of the key owner, /// the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. /// /// ///
/// /// Amazon Web Services parses KmsKeyId asynchronously, meaning that the /// action you call may appear to complete even though you provided an invalid identifier. /// This action will eventually report failure. /// /// /// /// The specified KMS key must exist in the Region that the AMI is being copied to. /// /// /// /// Amazon EBS does not support asymmetric KMS keys. /// ///
public string KmsKeyId { get { return this._kmsKeyId; } set { this._kmsKeyId = value; } } // Check to see if KmsKeyId property is set internal bool IsSetKmsKeyId() { return this._kmsKeyId != null; } /// /// Gets and sets the property LicenseSpecifications. /// /// The ARNs of the license configurations. /// /// public List LicenseSpecifications { get { return this._licenseSpecifications; } set { this._licenseSpecifications = value; } } // Check to see if LicenseSpecifications property is set internal bool IsSetLicenseSpecifications() { return this._licenseSpecifications != null && this._licenseSpecifications.Count > 0; } /// /// Gets and sets the property LicenseType. /// /// The license type to be used for the Amazon Machine Image (AMI) after importing. /// /// /// /// Specify AWS to replace the source-system license with an Amazon Web Services /// license or BYOL to retain the source-system license. Leaving this parameter /// undefined is the same as choosing AWS when importing a Windows Server /// operating system, and the same as choosing BYOL when importing a Windows /// client operating system (such as Windows 10) or a Linux operating system. /// /// /// /// To use BYOL, you must have existing licenses with rights to use these /// licenses in a third party cloud, such as Amazon Web Services. For more information, /// see Prerequisites /// in the VM Import/Export User Guide. /// /// public string LicenseType { get { return this._licenseType; } set { this._licenseType = value; } } // Check to see if LicenseType property is set internal bool IsSetLicenseType() { return this._licenseType != null; } /// /// Gets and sets the property Platform. /// /// The operating system of the virtual machine. If you import a VM that is compatible /// with Unified Extensible Firmware Interface (UEFI) using an EBS snapshot, you must /// specify a value for the platform. /// /// /// /// Valid values: Windows | Linux /// /// public string Platform { get { return this._platform; } set { this._platform = value; } } // Check to see if Platform property is set internal bool IsSetPlatform() { return this._platform != null; } /// /// Gets and sets the property RoleName. /// /// The name of the role to use when not using the default role, 'vmimport'. /// /// public string RoleName { get { return this._roleName; } set { this._roleName = value; } } // Check to see if RoleName property is set internal bool IsSetRoleName() { return this._roleName != null; } /// /// Gets and sets the property TagSpecifications. /// /// The tags to apply to the import image task during creation. /// /// public List TagSpecifications { get { return this._tagSpecifications; } set { this._tagSpecifications = value; } } // Check to see if TagSpecifications property is set internal bool IsSetTagSpecifications() { return this._tagSpecifications != null && this._tagSpecifications.Count > 0; } /// /// Gets and sets the property UsageOperation. /// /// The usage operation value. For more information, see Licensing /// options in the VM Import/Export User Guide. /// /// public string UsageOperation { get { return this._usageOperation; } set { this._usageOperation = value; } } // Check to see if UsageOperation property is set internal bool IsSetUsageOperation() { return this._usageOperation != null; } } }