Class ComputeDiskConfig.Jsii$Proxy

  • All Implemented Interfaces:
    ComputeDiskConfig, com.hashicorp.cdktf.TerraformMetaArguments, software.amazon.jsii.JsiiSerializable
    Enclosing interface:
    ComputeDiskConfig

    @Stability(Stable)
    @Internal
    public static final class ComputeDiskConfig.Jsii$Proxy
    extends software.amazon.jsii.JsiiObject
    implements ComputeDiskConfig
    An implementation for ComputeDiskConfig
    • Constructor Detail

      • Jsii$Proxy

        protected Jsii$Proxy​(software.amazon.jsii.JsiiObjectRef objRef)
        Constructor that initializes the object based on values retrieved from the JsiiObject.
        Parameters:
        objRef - Reference to the JSII managed object.
    • Method Detail

      • getName

        public final String getName()
        Description copied from interface: ComputeDiskConfig
        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](%5B-a-z0-9%5D*%5Ba-z0-9%5D)?' 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. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#name ComputeDisk#name}

        Specified by:
        getName in interface ComputeDiskConfig
      • getAccessMode

        public final String getAccessMode()
        Description copied from interface: ComputeDiskConfig
        The accessMode of the disk. For example: * READ_WRITE_SINGLE * READ_WRITE_MANY * READ_ONLY_SINGLE.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#access_mode ComputeDisk#access_mode}

        Specified by:
        getAccessMode in interface ComputeDiskConfig
      • getAsyncPrimaryDisk

        public final ComputeDiskAsyncPrimaryDisk getAsyncPrimaryDisk()
        Description copied from interface: ComputeDiskConfig
        async_primary_disk block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#async_primary_disk ComputeDisk#async_primary_disk}

        Specified by:
        getAsyncPrimaryDisk in interface ComputeDiskConfig
      • getDescription

        public final String getDescription()
        Description copied from interface: ComputeDiskConfig
        An optional description of this resource. Provide this property when you create the resource.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#description ComputeDisk#description}

        Specified by:
        getDescription in interface ComputeDiskConfig
      • getDiskEncryptionKey

        public final ComputeDiskDiskEncryptionKey getDiskEncryptionKey()
        Description copied from interface: ComputeDiskConfig
        disk_encryption_key block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#disk_encryption_key ComputeDisk#disk_encryption_key}

        Specified by:
        getDiskEncryptionKey in interface ComputeDiskConfig
      • getEnableConfidentialCompute

        public final Object getEnableConfidentialCompute()
        Description copied from interface: ComputeDiskConfig
        Whether this disk is using confidential compute mode.

        Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#enable_confidential_compute ComputeDisk#enable_confidential_compute}

        Specified by:
        getEnableConfidentialCompute in interface ComputeDiskConfig
      • getGuestOsFeatures

        public final Object getGuestOsFeatures()
        Description copied from interface: ComputeDiskConfig
        guest_os_features block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#guest_os_features ComputeDisk#guest_os_features}

        Specified by:
        getGuestOsFeatures in interface ComputeDiskConfig
      • getId

        public final String getId()
        Description copied from interface: ComputeDiskConfig
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#id ComputeDisk#id}.

        Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

        Specified by:
        getId in interface ComputeDiskConfig
      • getImage

        public final String getImage()
        Description copied from interface: ComputeDiskConfig
        The image from which to initialize this disk.

        This can be one of: the image's 'self_link', 'projects/{project}/global/images/{image}', 'projects/{project}/global/images/family/{family}', 'global/images/{image}', 'global/images/family/{family}', 'family/{family}', '{project}/{family}', '{project}/{image}', '{family}', or '{image}'. If referred by family, the images names must include the family name. If they don't, use the [google_compute_image data source](/docs/providers/google/d/compute_image.html). For instance, the image 'centos-6-v20180104' includes its family name 'centos-6'. These images can be referred by family name here. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#image ComputeDisk#image}

        Specified by:
        getImage in interface ComputeDiskConfig
      • getLabels

        public final Map<String,​String> getLabels()
        Description copied from interface: ComputeDiskConfig
        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. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#labels ComputeDisk#labels}

        Specified by:
        getLabels in interface ComputeDiskConfig
      • getLicenses

        public final List<String> getLicenses()
        Description copied from interface: ComputeDiskConfig
        Any applicable license URI.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#licenses ComputeDisk#licenses}

        Specified by:
        getLicenses in interface ComputeDiskConfig
      • getPhysicalBlockSizeBytes

        public final Number getPhysicalBlockSizeBytes()
        Description copied from interface: ComputeDiskConfig
        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. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#physical_block_size_bytes ComputeDisk#physical_block_size_bytes}

        Specified by:
        getPhysicalBlockSizeBytes in interface ComputeDiskConfig
      • getProject

        public final String getProject()
        Description copied from interface: ComputeDiskConfig
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#project ComputeDisk#project}.
        Specified by:
        getProject in interface ComputeDiskConfig
      • getProvisionedIops

        public final Number getProvisionedIops()
        Description copied from interface: ComputeDiskConfig
        Indicates how many IOPS must be provisioned for the disk.

        Note: Updating currently is only supported by hyperdisk skus without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#provisioned_iops ComputeDisk#provisioned_iops}

        Specified by:
        getProvisionedIops in interface ComputeDiskConfig
      • getProvisionedThroughput

        public final Number getProvisionedThroughput()
        Description copied from interface: ComputeDiskConfig
        Indicates how much Throughput must be provisioned for the disk.

        Note: Updating currently is only supported by hyperdisk skus without the need to delete and recreate the disk, hyperdisk allows for an update of Throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#provisioned_throughput ComputeDisk#provisioned_throughput}

        Specified by:
        getProvisionedThroughput in interface ComputeDiskConfig
      • getSize

        public final Number getSize()
        Description copied from interface: ComputeDiskConfig
        Size of the persistent disk, specified in GB.

        You can specify this field when creating a persistent disk using the 'image' or 'snapshot' parameter, or specify it alone to create an empty persistent disk. If you specify this field along with 'image' or 'snapshot', the value must not be less than the size of the image or the size of the snapshot. ~>**NOTE** If you change the size, Terraform updates the disk size if upsizing is detected but recreates the disk if downsizing is requested. You can add 'lifecycle.prevent_destroy' in the config to prevent destroying and recreating. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#size ComputeDisk#size}

        Specified by:
        getSize in interface ComputeDiskConfig
      • getSnapshot

        public final String getSnapshot()
        Description copied from interface: ComputeDiskConfig
        The source snapshot used to create this disk.

        You can provide this as a partial or full URL to the resource. If the snapshot is in another project than this disk, you must supply a full URL. 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' * 'snapshot' Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#snapshot ComputeDisk#snapshot}

        Specified by:
        getSnapshot in interface ComputeDiskConfig
      • getSourceDisk

        public final String getSourceDisk()
        Description copied from interface: ComputeDiskConfig
        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} Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#source_disk ComputeDisk#source_disk}

        Specified by:
        getSourceDisk in interface ComputeDiskConfig
      • getStoragePool

        public final String getStoragePool()
        Description copied from interface: ComputeDiskConfig
        The URL of the storage pool in which the new disk is created. For example: * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool} * /projects/{project}/zones/{zone}/storagePools/{storagePool}.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#storage_pool ComputeDisk#storage_pool}

        Specified by:
        getStoragePool in interface ComputeDiskConfig
      • getTimeouts

        public final ComputeDiskTimeouts getTimeouts()
        Description copied from interface: ComputeDiskConfig
        timeouts block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#timeouts ComputeDisk#timeouts}

        Specified by:
        getTimeouts in interface ComputeDiskConfig
      • getType

        public final String getType()
        Description copied from interface: ComputeDiskConfig
        URL of the disk type resource describing which disk type to use to create the disk.

        Provide this when creating the disk. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#type ComputeDisk#type}

        Specified by:
        getType in interface ComputeDiskConfig
      • getZone

        public final String getZone()
        Description copied from interface: ComputeDiskConfig
        A reference to the zone where the disk resides.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_disk#zone ComputeDisk#zone}

        Specified by:
        getZone in interface ComputeDiskConfig
      • getConnection

        public final Object getConnection()
        Specified by:
        getConnection in interface com.hashicorp.cdktf.TerraformMetaArguments
      • getCount

        public final Object getCount()
        Specified by:
        getCount in interface com.hashicorp.cdktf.TerraformMetaArguments
      • getDependsOn

        public final List<com.hashicorp.cdktf.ITerraformDependable> getDependsOn()
        Specified by:
        getDependsOn in interface com.hashicorp.cdktf.TerraformMetaArguments
      • getForEach

        public final com.hashicorp.cdktf.ITerraformIterator getForEach()
        Specified by:
        getForEach in interface com.hashicorp.cdktf.TerraformMetaArguments
      • getLifecycle

        public final com.hashicorp.cdktf.TerraformResourceLifecycle getLifecycle()
        Specified by:
        getLifecycle in interface com.hashicorp.cdktf.TerraformMetaArguments
      • getProvider

        public final com.hashicorp.cdktf.TerraformProvider getProvider()
        Specified by:
        getProvider in interface com.hashicorp.cdktf.TerraformMetaArguments
      • getProvisioners

        public final List<Object> getProvisioners()
        Specified by:
        getProvisioners in interface com.hashicorp.cdktf.TerraformMetaArguments
      • $jsii$toJson

        @Internal
        public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
        Specified by:
        $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object