pub struct SnapshotArgs {
pub chain_name: Output<Option<String>>,
pub description: Output<Option<String>>,
pub labels: Output<Option<HashMap<String, String>>>,
pub name: Output<Option<String>>,
pub project: Output<Option<String>>,
pub snapshot_encryption_key: Output<Option<SnapshotSnapshotEncryptionKey>>,
pub source_disk: Output<String>,
pub source_disk_encryption_key: Output<Option<SnapshotSourceDiskEncryptionKey>>,
pub storage_locations: Output<Option<Vec<String>>>,
pub zone: Output<Option<String>>,
}
Fields§
§chain_name: Output<Option<String>>
Creates the new snapshot in the snapshot chain labeled with the specified name. The chain name must be 1-63 characters long and comply with RFC1035. This is an uncommon option only for advanced service owners who needs to create separate snapshot chains, for example, for chargeback tracking. When you describe your snapshot resource, this field is visible only if it has a non-empty value.
description: Output<Option<String>>
An optional description of this resource.
labels: Output<Option<HashMap<String, String>>>
Labels to apply to this Snapshot.
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.
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.
project: Output<Option<String>>
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
snapshot_encryption_key: Output<Option<SnapshotSnapshotEncryptionKey>>
Encrypts the snapshot using a customer-supplied encryption key. After you encrypt a snapshot using a customer-supplied key, you must provide the same key if you use the snapshot later. For example, you must provide the encryption key when you create a disk from the encrypted snapshot in a future request. Customer-supplied encryption keys do not protect access to metadata of the snapshot. If you do not provide an encryption key when creating the snapshot, then the snapshot will be encrypted using an automatically generated key and you do not need to provide a key to use the snapshot later. Structure is documented below.
source_disk: Output<String>
A reference to the disk used to create this snapshot.
source_disk_encryption_key: Output<Option<SnapshotSourceDiskEncryptionKey>>
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.
storage_locations: Output<Option<Vec<String>>>
Cloud Storage bucket storage location of the snapshot (regional or multi-regional).
zone: Output<Option<String>>
A reference to the zone where the disk is hosted.
Implementations§
source§impl SnapshotArgs
impl SnapshotArgs
sourcepub fn builder() -> SnapshotArgsBuilder
pub fn builder() -> SnapshotArgsBuilder
Create an instance of SnapshotArgs
using the builder syntax
Trait Implementations§
source§impl Clone for SnapshotArgs
impl Clone for SnapshotArgs
source§fn clone(&self) -> SnapshotArgs
fn clone(&self) -> SnapshotArgs
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 SnapshotArgs
impl RefUnwindSafe for SnapshotArgs
impl Send for SnapshotArgs
impl Sync for SnapshotArgs
impl Unpin for SnapshotArgs
impl UnwindSafe for SnapshotArgs
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
)