Ejemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of the Snapshot class.
 /// </summary>
 /// <param name="location">Resource location</param>
 /// <param name="creationData">Disk source information. CreationData
 /// information cannot be changed after the disk has been
 /// created.</param>
 /// <param name="id">Resource Id</param>
 /// <param name="name">Resource name</param>
 /// <param name="type">Resource type</param>
 /// <param name="tags">Resource tags</param>
 /// <param name="managedBy">Unused. Always Null.</param>
 /// <param name="extendedLocation">The extended location where the
 /// snapshot will be created. Extended location cannot be
 /// changed.</param>
 /// <param name="timeCreated">The time when the snapshot was
 /// created.</param>
 /// <param name="osType">The Operating System type. Possible values
 /// include: 'Windows', 'Linux'</param>
 /// <param name="hyperVGeneration">The hypervisor generation of the
 /// Virtual Machine. Applicable to OS disks only. Possible values
 /// include: 'V1', 'V2'</param>
 /// <param name="purchasePlan">Purchase plan information for the image
 /// from which the source disk for the snapshot was originally
 /// created.</param>
 /// <param name="supportedCapabilities">List of supported capabilities
 /// for the image from which the source disk from the snapshot was
 /// originally created.</param>
 /// <param name="diskSizeGB">If creationData.createOption is Empty,
 /// this field is mandatory and it indicates the size of the disk to
 /// create. If this field is present for updates or creation with other
 /// options, it indicates a resize. Resizes are only allowed if the
 /// disk is not attached to a running VM, and can only increase the
 /// disk's size.</param>
 /// <param name="diskSizeBytes">The size of the disk in bytes. This
 /// field is read only.</param>
 /// <param name="diskState">The state of the snapshot. Possible values
 /// include: 'Unattached', 'Attached', 'Reserved', 'Frozen',
 /// 'ActiveSAS', 'ActiveSASFrozen', 'ReadyToUpload',
 /// 'ActiveUpload'</param>
 /// <param name="uniqueId">Unique Guid identifying the
 /// resource.</param>
 /// <param name="encryptionSettingsCollection">Encryption settings
 /// collection used be Azure Disk Encryption, can contain multiple
 /// encryption settings per disk or snapshot.</param>
 /// <param name="provisioningState">The disk provisioning
 /// state.</param>
 /// <param name="incremental">Whether a snapshot is incremental.
 /// Incremental snapshots on the same disk occupy less space than full
 /// snapshots and can be diffed.</param>
 /// <param name="encryption">Encryption property can be used to encrypt
 /// data at rest with customer managed keys or platform managed
 /// keys.</param>
 /// <param name="networkAccessPolicy">Possible values include:
 /// 'AllowAll', 'AllowPrivate', 'DenyAll'</param>
 /// <param name="diskAccessId">ARM id of the DiskAccess resource for
 /// using private endpoints on disks.</param>
 /// <param name="securityProfile">Contains the security related
 /// information for the resource.</param>
 /// <param name="supportsHibernation">Indicates the OS on a snapshot
 /// supports hibernation.</param>
 /// <param name="publicNetworkAccess">Possible values include:
 /// 'Enabled', 'Disabled'</param>
 /// <param name="completionPercent">Percentage complete for the
 /// background copy when a resource is created via the CopyStart
 /// operation.</param>
 /// <param name="copyCompletionError">Indicates the error details if
 /// the background copy of a resource created via the CopyStart
 /// operation fails.</param>
 /// <param name="dataAccessAuthMode">Possible values include:
 /// 'AzureActiveDirectory', 'None'</param>
 public Snapshot(string location, CreationData creationData, string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string managedBy = default(string), SnapshotSku sku = default(SnapshotSku), ExtendedLocation extendedLocation = default(ExtendedLocation), System.DateTime?timeCreated = default(System.DateTime?), OperatingSystemTypes?osType = default(OperatingSystemTypes?), string hyperVGeneration = default(string), PurchasePlan purchasePlan = default(PurchasePlan), SupportedCapabilities supportedCapabilities = default(SupportedCapabilities), int?diskSizeGB = default(int?), long?diskSizeBytes = default(long?), string diskState = default(string), string uniqueId = default(string), EncryptionSettingsCollection encryptionSettingsCollection = default(EncryptionSettingsCollection), string provisioningState = default(string), bool?incremental = default(bool?), Encryption encryption = default(Encryption), string networkAccessPolicy = default(string), string diskAccessId = default(string), DiskSecurityProfile securityProfile = default(DiskSecurityProfile), bool?supportsHibernation = default(bool?), string publicNetworkAccess = default(string), double?completionPercent = default(double?), CopyCompletionError copyCompletionError = default(CopyCompletionError), string dataAccessAuthMode = default(string))
     : base(location, id, name, type, tags)
 {
     ManagedBy                    = managedBy;
     Sku                          = sku;
     ExtendedLocation             = extendedLocation;
     TimeCreated                  = timeCreated;
     OsType                       = osType;
     HyperVGeneration             = hyperVGeneration;
     PurchasePlan                 = purchasePlan;
     SupportedCapabilities        = supportedCapabilities;
     CreationData                 = creationData;
     DiskSizeGB                   = diskSizeGB;
     DiskSizeBytes                = diskSizeBytes;
     DiskState                    = diskState;
     UniqueId                     = uniqueId;
     EncryptionSettingsCollection = encryptionSettingsCollection;
     ProvisioningState            = provisioningState;
     Incremental                  = incremental;
     Encryption                   = encryption;
     NetworkAccessPolicy          = networkAccessPolicy;
     DiskAccessId                 = diskAccessId;
     SecurityProfile              = securityProfile;
     SupportsHibernation          = supportsHibernation;
     PublicNetworkAccess          = publicNetworkAccess;
     CompletionPercent            = completionPercent;
     CopyCompletionError          = copyCompletionError;
     DataAccessAuthMode           = dataAccessAuthMode;
     CustomInit();
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Validate the object.
 /// </summary>
 /// <exception cref="ValidationException">
 /// Thrown if validation fails
 /// </exception>
 public override void Validate()
 {
     base.Validate();
     if (CreationData == null)
     {
         throw new ValidationException(ValidationRules.CannotBeNull, "CreationData");
     }
     if (PurchasePlan != null)
     {
         PurchasePlan.Validate();
     }
     if (CreationData != null)
     {
         CreationData.Validate();
     }
     if (EncryptionSettingsCollection != null)
     {
         EncryptionSettingsCollection.Validate();
     }
     if (CopyCompletionError != null)
     {
         CopyCompletionError.Validate();
     }
 }