pub struct ManagedDiskArgs {Show 35 fields
pub create_option: Output<String>,
pub disk_access_id: Output<Option<String>>,
pub disk_encryption_set_id: Output<Option<String>>,
pub disk_iops_read_only: Output<Option<i32>>,
pub disk_iops_read_write: Output<Option<i32>>,
pub disk_mbps_read_only: Output<Option<i32>>,
pub disk_mbps_read_write: Output<Option<i32>>,
pub disk_size_gb: Output<Option<i32>>,
pub edge_zone: Output<Option<String>>,
pub encryption_settings: Output<Option<ManagedDiskEncryptionSettings>>,
pub gallery_image_reference_id: Output<Option<String>>,
pub hyper_v_generation: Output<Option<String>>,
pub image_reference_id: Output<Option<String>>,
pub location: Output<Option<String>>,
pub logical_sector_size: Output<Option<i32>>,
pub max_shares: Output<Option<i32>>,
pub name: Output<Option<String>>,
pub network_access_policy: Output<Option<String>>,
pub on_demand_bursting_enabled: Output<Option<bool>>,
pub optimized_frequent_attach_enabled: Output<Option<bool>>,
pub os_type: Output<Option<String>>,
pub performance_plus_enabled: Output<Option<bool>>,
pub public_network_access_enabled: Output<Option<bool>>,
pub resource_group_name: Output<String>,
pub secure_vm_disk_encryption_set_id: Output<Option<String>>,
pub security_type: Output<Option<String>>,
pub source_resource_id: Output<Option<String>>,
pub source_uri: Output<Option<String>>,
pub storage_account_id: Output<Option<String>>,
pub storage_account_type: Output<String>,
pub tags: Output<Option<HashMap<String, String>>>,
pub tier: Output<Option<String>>,
pub trusted_launch_enabled: Output<Option<bool>>,
pub upload_size_bytes: Output<Option<i32>>,
pub zone: Output<Option<String>>,
}
Fields§
§create_option: Output<String>
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
Import
- Import a VHD file in to the managed disk (VHD specified withsource_uri
).ImportSecure
- Securely import a VHD file in to the managed disk (VHD specified withsource_uri
).Empty
- Create an empty managed disk.Copy
- Copy an existing managed disk or snapshot (specified withsource_resource_id
).FromImage
- Copy a Platform Image (specified withimage_reference_id
)Restore
- Set by Azure Backup or Site Recovery on a restored disk (specified withsource_resource_id
).Upload
- Upload a VHD disk with the help of SAS URL (to be used withupload_size_bytes
).
disk_access_id: Output<Option<String>>
The ID of the disk access resource for using private endpoints on disks.
Note:
disk_access_id
is only supported whennetwork_access_policy
is set toAllowPrivate
.
disk_encryption_set_id: Output<Option<String>>
The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id
.
NOTE: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault
NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions
disk_iops_read_only: Output<Option<i32>>
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
disk_iops_read_write: Output<Option<i32>>
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
disk_mbps_read_only: Output<Option<i32>>
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
disk_mbps_read_write: Output<Option<i32>>
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
disk_size_gb: Output<Option<i32>>
§edge_zone: Output<Option<String>>
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
encryption_settings: Output<Option<ManagedDiskEncryptionSettings>>
A encryption_settings
block as defined below.
NOTE: Removing
encryption_settings
forces a new resource to be created.
gallery_image_reference_id: Output<Option<String>>
ID of a Gallery Image Version to copy when create_option
is FromImage
. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
hyper_v_generation: Output<Option<String>>
The HyperV Generation of the Disk when the source of an Import
or Copy
operation targets a source that contains an operating system. Possible values are V1
and V2
. For ImportSecure
it must be set to V2
. Changing this forces a new resource to be created.
image_reference_id: Output<Option<String>>
ID of an existing platform/marketplace disk image to copy when create_option
is FromImage
. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
location: Output<Option<String>>
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
logical_sector_size: Output<Option<i32>>
Logical Sector Size. Possible values are: 512
and 4096
. Defaults to 4096
. Changing this forces a new resource to be created.
NOTE: Setting logical sector size is supported only with
UltraSSD_LRS
disks andPremiumV2_LRS
disks.
The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
Note: Premium SSD maxShares limit:
P15
andP20
disks: 2.P30
,P40
,P50
disks: 5.P60
,P70
,P80
disks: 10. For ultra disks themax_shares
minimum value is 1 and the maximum is 5.
name: Output<Option<String>>
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
network_access_policy: Output<Option<String>>
Policy for accessing the disk via network. Allowed values are AllowAll
, AllowPrivate
, and DenyAll
.
on_demand_bursting_enabled: Output<Option<bool>>
Specifies if On-Demand Bursting is enabled for the Managed Disk.
Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.
optimized_frequent_attach_enabled: Output<Option<bool>>
Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false
.
Note: Setting
optimized_frequent_attach_enabled
totrue
causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.
os_type: Output<Option<String>>
Specify a value when the source of an Import
, ImportSecure
or Copy
operation targets a source that contains an operating system. Valid values are Linux
or Windows
.
performance_plus_enabled: Output<Option<bool>>
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false
. Changing this forces a new resource to be created.
public_network_access_enabled: Output<Option<bool>>
Whether it is allowed to access the disk via public network. Defaults to true
.
For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.
resource_group_name: Output<String>
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
secure_vm_disk_encryption_set_id: Output<Option<String>>
The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id
. Changing this forces a new resource to be created.
NOTE:
secure_vm_disk_encryption_set_id
can only be specified whensecurity_type
is set toConfidentialVM_DiskEncryptedWithCustomerKey
.
security_type: Output<Option<String>>
Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey
, ConfidentialVM_DiskEncryptedWithPlatformKey
and ConfidentialVM_DiskEncryptedWithCustomerKey
. Changing this forces a new resource to be created.
NOTE: When
security_type
is set toConfidentialVM_DiskEncryptedWithCustomerKey
the value ofcreate_option
must be one ofFromImage
orImportSecure
.
NOTE:
security_type
cannot be specified whentrusted_launch_enabled
is set to true.
NOTE:
secure_vm_disk_encryption_set_id
must be specified whensecurity_type
is set toConfidentialVM_DiskEncryptedWithCustomerKey
.
source_resource_id: Output<Option<String>>
The ID of an existing Managed Disk or Snapshot to copy when create_option
is Copy
or the recovery point to restore when create_option
is Restore
. Changing this forces a new resource to be created.
source_uri: Output<Option<String>>
URI to a valid VHD file to be used when create_option
is Import
or ImportSecure
. Changing this forces a new resource to be created.
storage_account_id: Output<Option<String>>
The ID of the Storage Account where the source_uri
is located. Required when create_option
is set to Import
or ImportSecure
. Changing this forces a new resource to be created.
storage_account_type: Output<String>
The type of storage to use for the managed disk. Possible values are Standard_LRS
, StandardSSD_ZRS
, Premium_LRS
, PremiumV2_LRS
, Premium_ZRS
, StandardSSD_LRS
or UltraSSD_LRS
.
Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series:
ESv3
,DSv3
,FSv3
,LSv2
,M
andMv2
. For more information see theAzure Ultra Disk Storage
product documentation.
A mapping of tags to assign to the resource.
tier: Output<Option<String>>
§trusted_launch_enabled: Output<Option<bool>>
Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.
Note: Trusted Launch can only be enabled when
create_option
isFromImage
orImport
.
upload_size_bytes: Output<Option<i32>>
Specifies the size of the managed disk to create in bytes. Required when create_option
is Upload
. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l
or wc -c
. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
zone: Output<Option<String>>
Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.
Note: Availability Zones are only supported in select regions at this time.
Implementations§
source§impl ManagedDiskArgs
impl ManagedDiskArgs
sourcepub fn builder() -> ManagedDiskArgsBuilder
pub fn builder() -> ManagedDiskArgsBuilder
Create an instance of ManagedDiskArgs
using the builder syntax
Trait Implementations§
source§impl Clone for ManagedDiskArgs
impl Clone for ManagedDiskArgs
source§fn clone(&self) -> ManagedDiskArgs
fn clone(&self) -> ManagedDiskArgs
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for ManagedDiskArgs
impl RefUnwindSafe for ManagedDiskArgs
impl Send for ManagedDiskArgs
impl Sync for ManagedDiskArgs
impl Unpin for ManagedDiskArgs
impl UnwindSafe for ManagedDiskArgs
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)