1+ namespace Microsoft . Azure . Management . Compute . Models
2+ {
3+ using System . Collections . Generic ;
4+
5+ /// <summary>
6+ /// Disk resource.
7+ /// </summary>
8+ public partial class Disk : Resource
9+ {
10+ /// <summary>
11+ /// Initializes a new instance of the Disk class.
12+ /// </summary>
13+ /// <param name="location">Resource location</param>
14+ /// <param name="creationData">Disk source information. CreationData
15+ /// information cannot be changed after the disk has been
16+ /// created.</param>
17+ /// <param name="id">Resource Id</param>
18+ /// <param name="name">Resource name</param>
19+ /// <param name="type">Resource type</param>
20+ /// <param name="tags">Resource tags</param>
21+ /// <param name="managedBy">A relative URI containing the ID of the VM
22+ /// that has the disk attached.</param>
23+ /// <param name="managedByExtended">List of relative URIs containing
24+ /// the IDs of the VMs that have the disk attached. maxShares should be
25+ /// set to a value greater than one for disks to allow attaching them
26+ /// to multiple VMs.</param>
27+ /// <param name="zones">The Logical zone list for Disk.</param>
28+ /// <param name="extendedLocation">The extended location where the disk
29+ /// will be created. Extended location cannot be changed.</param>
30+ /// <param name="timeCreated">The time when the disk was
31+ /// created.</param>
32+ /// <param name="osType">The Operating System type. Possible values
33+ /// include: 'Windows', 'Linux'</param>
34+ /// <param name="hyperVGeneration">The hypervisor generation of the
35+ /// Virtual Machine. Applicable to OS disks only. Possible values
36+ /// include: 'V1', 'V2'</param>
37+ /// <param name="purchasePlan">Purchase plan information for the the
38+ /// image from which the OS disk was created. E.g. - {name:
39+ /// 2019-Datacenter, publisher: MicrosoftWindowsServer, product:
40+ /// WindowsServer}</param>
41+ /// <param name="diskSizeGB">If creationData.createOption is Empty,
42+ /// this field is mandatory and it indicates the size of the disk to
43+ /// create. If this field is present for updates or creation with other
44+ /// options, it indicates a resize. Resizes are only allowed if the
45+ /// disk is not attached to a running VM, and can only increase the
46+ /// disk's size.</param>
47+ /// <param name="diskSizeBytes">The size of the disk in bytes. This
48+ /// field is read only.</param>
49+ /// <param name="uniqueId">Unique Guid identifying the
50+ /// resource.</param>
51+ /// <param name="encryptionSettingsCollection">Encryption settings
52+ /// collection used for Azure Disk Encryption, can contain multiple
53+ /// encryption settings per disk or snapshot.</param>
54+ /// <param name="provisioningState">The disk provisioning
55+ /// state.</param>
56+ /// <param name="diskIOPSReadWrite">The number of IOPS allowed for this
57+ /// disk; only settable for UltraSSD disks. One operation can transfer
58+ /// between 4k and 256k bytes.</param>
59+ /// <param name="diskMBpsReadWrite">The bandwidth allowed for this
60+ /// disk; only settable for UltraSSD disks. MBps means millions of
61+ /// bytes per second - MB here uses the ISO notation, of powers of
62+ /// 10.</param>
63+ /// <param name="diskIOPSReadOnly">The total number of IOPS that will
64+ /// be allowed across all VMs mounting the shared disk as ReadOnly. One
65+ /// operation can transfer between 4k and 256k bytes.</param>
66+ /// <param name="diskMBpsReadOnly">The total throughput (MBps) that
67+ /// will be allowed across all VMs mounting the shared disk as
68+ /// ReadOnly. MBps means millions of bytes per second - MB here uses
69+ /// the ISO notation, of powers of 10.</param>
70+ /// <param name="diskState">The state of the disk. Possible values
71+ /// include: 'Unattached', 'Attached', 'Reserved', 'Frozen',
72+ /// 'ActiveSAS', 'ActiveSASFrozen', 'ReadyToUpload',
73+ /// 'ActiveUpload'</param>
74+ /// <param name="encryption">Encryption property can be used to encrypt
75+ /// data at rest with customer managed keys or platform managed
76+ /// keys.</param>
77+ /// <param name="maxShares">The maximum number of VMs that can attach
78+ /// to the disk at the same time. Value greater than one indicates a
79+ /// disk that can be mounted on multiple VMs at the same time.</param>
80+ /// <param name="shareInfo">Details of the list of all VMs that have
81+ /// the disk attached. maxShares should be set to a value greater than
82+ /// one for disks to allow attaching them to multiple VMs.</param>
83+ /// <param name="networkAccessPolicy">Possible values include:
84+ /// 'AllowAll', 'AllowPrivate', 'DenyAll'</param>
85+ /// <param name="diskAccessId">ARM id of the DiskAccess resource for
86+ /// using private endpoints on disks.</param>
87+ /// <param name="tier">Performance tier of the disk (e.g, P4, S10) as
88+ /// described here:
89+ /// https://azure.microsoft.com/en-us/pricing/details/managed-disks/.
90+ /// Does not apply to Ultra disks.</param>
91+ /// <param name="burstingEnabled">Set to true to enable bursting beyond
92+ /// the provisioned performance target of the disk. Bursting is
93+ /// disabled by default. Does not apply to Ultra disks.</param>
94+ /// <param name="propertyUpdatesInProgress">Properties of the disk for
95+ /// which update is pending.</param>
96+ /// <param name="supportsHibernation">Indicates the OS on a disk
97+ /// supports hibernation.</param>
98+ /// <param name="securityProfile">Contains the security related
99+ /// information for the resource.</param>
100+ /// <param name="supportedCapabilities">List of supported capabilities
101+ /// for the image from which the OS disk was created.</param>
102+ /// <param name="completionPercent">Percentage complete for the
103+ /// background copy when a resource is created via the CopyStart
104+ /// operation.</param>
105+ /// <param name="publicNetworkAccess">Possible values include:
106+ /// 'Enabled', 'Disabled'</param>
107+ public Disk ( string location , CreationData creationData , string id , string name , string type , IDictionary < string , string > tags , string managedBy , IList < string > managedByExtended , DiskSku sku , IList < string > zones , ExtendedLocation extendedLocation , System . DateTime ? timeCreated , OperatingSystemTypes ? osType , string hyperVGeneration , PurchasePlan purchasePlan , int ? diskSizeGB , long ? diskSizeBytes = default ( long ? ) , string uniqueId = default ( string ) , EncryptionSettingsCollection encryptionSettingsCollection = default ( EncryptionSettingsCollection ) , string provisioningState = default ( string ) , long ? diskIOPSReadWrite = default ( long ? ) , long ? diskMBpsReadWrite = default ( long ? ) , long ? diskIOPSReadOnly = default ( long ? ) , long ? diskMBpsReadOnly = default ( long ? ) , string diskState = default ( string ) , Encryption encryption = default ( Encryption ) , int ? maxShares = default ( int ? ) , IList < ShareInfoElement > shareInfo = default ( IList < ShareInfoElement > ) , string networkAccessPolicy = default ( string ) , string diskAccessId = default ( string ) , string tier = default ( string ) , bool ? burstingEnabled = default ( bool ? ) , PropertyUpdatesInProgress propertyUpdatesInProgress = default ( PropertyUpdatesInProgress ) , bool ? supportsHibernation = default ( bool ? ) , DiskSecurityProfile securityProfile = default ( DiskSecurityProfile ) )
108+ : base ( location , id , name , type , tags )
109+ {
110+ ManagedBy = managedBy ;
111+ ManagedByExtended = managedByExtended ;
112+ Sku = sku ;
113+ Zones = zones ;
114+ ExtendedLocation = extendedLocation ;
115+ TimeCreated = timeCreated ;
116+ OsType = osType ;
117+ HyperVGeneration = hyperVGeneration ;
118+ PurchasePlan = purchasePlan ;
119+ CreationData = creationData ;
120+ DiskSizeGB = diskSizeGB ;
121+ DiskSizeBytes = diskSizeBytes ;
122+ UniqueId = uniqueId ;
123+ EncryptionSettingsCollection = encryptionSettingsCollection ;
124+ ProvisioningState = provisioningState ;
125+ DiskIOPSReadWrite = diskIOPSReadWrite ;
126+ DiskMBpsReadWrite = diskMBpsReadWrite ;
127+ DiskIOPSReadOnly = diskIOPSReadOnly ;
128+ DiskMBpsReadOnly = diskMBpsReadOnly ;
129+ DiskState = diskState ;
130+ Encryption = encryption ;
131+ MaxShares = maxShares ;
132+ ShareInfo = shareInfo ;
133+ NetworkAccessPolicy = networkAccessPolicy ;
134+ DiskAccessId = diskAccessId ;
135+ Tier = tier ;
136+ BurstingEnabled = burstingEnabled ;
137+ PropertyUpdatesInProgress = propertyUpdatesInProgress ;
138+ SupportsHibernation = supportsHibernation ;
139+ SecurityProfile = securityProfile ;
140+ CustomInit ( ) ;
141+ }
142+ }
143+ }
0 commit comments