pub struct ImageArgs {Show 14 fields
pub description: Output<Option<String>>,
pub disk_size_gb: Output<Option<i32>>,
pub family: Output<Option<String>>,
pub guest_os_features: Output<Option<Vec<ImageGuestOsFeature>>>,
pub image_encryption_key: Output<Option<ImageImageEncryptionKey>>,
pub labels: Output<Option<HashMap<String, String>>>,
pub licenses: Output<Option<Vec<String>>>,
pub name: Output<Option<String>>,
pub project: Output<Option<String>>,
pub raw_disk: Output<Option<ImageRawDisk>>,
pub source_disk: Output<Option<String>>,
pub source_image: Output<Option<String>>,
pub source_snapshot: Output<Option<String>>,
pub storage_locations: Output<Option<Vec<String>>>,
}
Fields§
§description: Output<Option<String>>
An optional description of this resource. Provide this property when you create the resource.
disk_size_gb: Output<Option<i32>>
Size of the image when restored onto a persistent disk (in GB).
family: Output<Option<String>>
The name of the image family to which this image belongs. You can create disks by specifying an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. The name of the image family must comply with RFC1035.
guest_os_features: Output<Option<Vec<ImageGuestOsFeature>>>
A list of features to enable on the guest operating system. Applicable only for bootable images. Structure is documented below.
image_encryption_key: Output<Option<ImageImageEncryptionKey>>
Encrypts the image using a customer-supplied encryption key. After you encrypt an image with a customer-supplied key, you must provide the same key if you use the image later (e.g. to create a disk from the image) Structure is documented below.
labels: Output<Option<HashMap<String, String>>>
Labels to apply to this Image.
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.
project: Output<Option<String>>
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
raw_disk: Output<Option<ImageRawDisk>>
The parameters of the raw disk image. Structure is documented below.
source_disk: Output<Option<String>>
The source disk to create this image based on. You must provide either this property or the rawDisk.source property but not both to create an image.
source_image: Output<Option<String>>
URL of the source image used to create this image. In order to create an image, you must provide the full or partial URL of one of the following:
- The selfLink URL
- This property
- The rawDisk.source URL
- The sourceDisk URL
source_snapshot: Output<Option<String>>
URL of the source snapshot used to create this image. In order to create an image, you must provide the full or partial URL of one of the following:
- The selfLink URL
- This property
- The sourceImage URL
- The rawDisk.source URL
- The sourceDisk URL
storage_locations: Output<Option<Vec<String>>>
Cloud Storage bucket storage location of the image (regional or multi-regional). Reference link: https://cloud.google.com/compute/docs/reference/rest/v1/images
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ImageArgs
impl RefUnwindSafe for ImageArgs
impl Send for ImageArgs
impl Sync for ImageArgs
impl Unpin for ImageArgs
impl UnwindSafe for ImageArgs
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
)