pub struct RegionDiskArgs {Show 17 fields
pub async_primary_disk: Output<Option<RegionDiskAsyncPrimaryDisk>>,
pub description: Output<Option<String>>,
pub disk_encryption_key: Output<Option<RegionDiskDiskEncryptionKey>>,
pub guest_os_features: Output<Option<Vec<RegionDiskGuestOsFeature>>>,
pub interface: Output<Option<String>>,
pub labels: Output<Option<HashMap<String, String>>>,
pub licenses: Output<Option<Vec<String>>>,
pub name: Output<Option<String>>,
pub physical_block_size_bytes: Output<Option<i32>>,
pub project: Output<Option<String>>,
pub region: Output<Option<String>>,
pub replica_zones: Output<Vec<String>>,
pub size: Output<Option<i32>>,
pub snapshot: Output<Option<String>>,
pub source_disk: Output<Option<String>>,
pub source_snapshot_encryption_key: Output<Option<RegionDiskSourceSnapshotEncryptionKey>>,
pub type_: Output<Option<String>>,
}
Fields§
§async_primary_disk: Output<Option<RegionDiskAsyncPrimaryDisk>>
A nested object resource. Structure is documented below.
description: Output<Option<String>>
An optional description of this resource. Provide this property when you create the resource.
disk_encryption_key: Output<Option<RegionDiskDiskEncryptionKey>>
Encrypts the disk using a customer-supplied encryption key. After you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later (e.g. to create a disk snapshot or an image, or to attach the disk to a virtual machine). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not provide an encryption key when creating the disk, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later. Structure is documented below.
guest_os_features: Output<Option<Vec<RegionDiskGuestOsFeature>>>
A list of features to enable on the guest operating system. Applicable only for bootable disks. Structure is documented below.
interface: Output<Option<String>>
Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI.
Warning:
interface
is deprecated and will be removed in a future major release. This field is no longer used and can be safely removed from your configurations; disk interfaces are automatically determined on attachment.
labels: Output<Option<HashMap<String, String>>>
Labels to apply to this disk. A list of key->value pairs.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field effective_labels
for all of the labels present on the resource.
licenses: Output<Option<Vec<String>>>
Any applicable license URI.
name: Output<Option<String>>
Name of the resource. Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression a-z?
which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.
physical_block_size_bytes: Output<Option<i32>>
Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently supported sizes are 4096 and 16384, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller’s project.
project: Output<Option<String>>
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
region: Output<Option<String>>
A reference to the region where the disk resides.
replica_zones: Output<Vec<String>>
URLs of the zones where the disk should be replicated to.
size: Output<Option<i32>>
Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the sourceImage or sourceSnapshot parameter, or specify it alone to create an empty persistent disk. If you specify this field along with sourceImage or sourceSnapshot, the value of sizeGb must not be less than the size of the sourceImage or the size of the snapshot.
snapshot: Output<Option<String>>
The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values:
https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot
projects/project/global/snapshots/snapshot
global/snapshots/snapshot
source_disk: Output<Option<String>>
The source disk used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values:
- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/disks/{disk}
- https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/disks/{disk}
- projects/{project}/zones/{zone}/disks/{disk}
- projects/{project}/regions/{region}/disks/{disk}
- zones/{zone}/disks/{disk}
- regions/{region}/disks/{disk}
source_snapshot_encryption_key: Output<Option<RegionDiskSourceSnapshotEncryptionKey>>
The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key. Structure is documented below.
type_: Output<Option<String>>
URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk.
Implementations§
source§impl RegionDiskArgs
impl RegionDiskArgs
sourcepub fn builder() -> RegionDiskArgsBuilder
pub fn builder() -> RegionDiskArgsBuilder
Create an instance of RegionDiskArgs
using the builder syntax
Trait Implementations§
source§impl Clone for RegionDiskArgs
impl Clone for RegionDiskArgs
source§fn clone(&self) -> RegionDiskArgs
fn clone(&self) -> RegionDiskArgs
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 RegionDiskArgs
impl RefUnwindSafe for RegionDiskArgs
impl Send for RegionDiskArgs
impl Sync for RegionDiskArgs
impl Unpin for RegionDiskArgs
impl UnwindSafe for RegionDiskArgs
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
)