pulumi_wasm_providers_gcp_mini::compute::region_disk

Struct RegionDiskArgs

source
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

source

pub fn builder() -> RegionDiskArgsBuilder

Create an instance of RegionDiskArgs using the builder syntax

Trait Implementations§

source§

impl Clone for RegionDiskArgs

source§

fn clone(&self) -> RegionDiskArgs

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.