Class RegionDiskArgs.Builder

  • Enclosing class:
    RegionDiskArgs

    public static final class RegionDiskArgs.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • description

        public RegionDiskArgs.Builder description​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> description)
        Parameters:
        description - An optional description of this resource. Provide this property when you create the resource.
        Returns:
        builder
      • description

        public RegionDiskArgs.Builder description​(java.lang.String description)
        Parameters:
        description - An optional description of this resource. Provide this property when you create the resource.
        Returns:
        builder
      • diskEncryptionKey

        public RegionDiskArgs.Builder diskEncryptionKey​(@Nullable
                                                        com.pulumi.core.Output<RegionDiskDiskEncryptionKeyArgs> diskEncryptionKey)
        Parameters:
        diskEncryptionKey - 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.
        Returns:
        builder
      • diskEncryptionKey

        public RegionDiskArgs.Builder diskEncryptionKey​(RegionDiskDiskEncryptionKeyArgs diskEncryptionKey)
        Parameters:
        diskEncryptionKey - 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.
        Returns:
        builder
      • guestOsFeatures

        public RegionDiskArgs.Builder guestOsFeatures​(@Nullable
                                                      com.pulumi.core.Output<java.util.List<RegionDiskGuestOsFeatureArgs>> guestOsFeatures)
        Parameters:
        guestOsFeatures - A list of features to enable on the guest operating system. Applicable only for bootable disks. Structure is documented below.
        Returns:
        builder
      • guestOsFeatures

        public RegionDiskArgs.Builder guestOsFeatures​(java.util.List<RegionDiskGuestOsFeatureArgs> guestOsFeatures)
        Parameters:
        guestOsFeatures - A list of features to enable on the guest operating system. Applicable only for bootable disks. Structure is documented below.
        Returns:
        builder
      • guestOsFeatures

        public RegionDiskArgs.Builder guestOsFeatures​(RegionDiskGuestOsFeatureArgs... guestOsFeatures)
        Parameters:
        guestOsFeatures - A list of features to enable on the guest operating system. Applicable only for bootable disks. Structure is documented below.
        Returns:
        builder
      • interface_

        @Deprecated
        public RegionDiskArgs.Builder interface_​(@Nullable
                                                 com.pulumi.core.Output<java.lang.String> interface_)
        Deprecated.
        `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.
        Parameters:
        interface_ - (Optional, Deprecated) 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.
        Returns:
        builder
      • interface_

        @Deprecated
        public RegionDiskArgs.Builder interface_​(java.lang.String interface_)
        Deprecated.
        `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.
        Parameters:
        interface_ - (Optional, Deprecated) 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.
        Returns:
        builder
      • labels

        public RegionDiskArgs.Builder labels​(@Nullable
                                             com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> labels)
        Parameters:
        labels - Labels to apply to this disk. A list of key->value pairs.
        Returns:
        builder
      • labels

        public RegionDiskArgs.Builder labels​(java.util.Map<java.lang.String,​java.lang.String> labels)
        Parameters:
        labels - Labels to apply to this disk. A list of key->value pairs.
        Returns:
        builder
      • licenses

        public RegionDiskArgs.Builder licenses​(@Nullable
                                               com.pulumi.core.Output<java.util.List<java.lang.String>> licenses)
        Parameters:
        licenses - Any applicable license URI.
        Returns:
        builder
      • licenses

        public RegionDiskArgs.Builder licenses​(java.util.List<java.lang.String> licenses)
        Parameters:
        licenses - Any applicable license URI.
        Returns:
        builder
      • licenses

        public RegionDiskArgs.Builder licenses​(java.lang.String... licenses)
        Parameters:
        licenses - Any applicable license URI.
        Returns:
        builder
      • name

        public RegionDiskArgs.Builder name​(@Nullable
                                           com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - 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.
        Returns:
        builder
      • name

        public RegionDiskArgs.Builder name​(java.lang.String name)
        Parameters:
        name - 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.
        Returns:
        builder
      • physicalBlockSizeBytes

        public RegionDiskArgs.Builder physicalBlockSizeBytes​(@Nullable
                                                             com.pulumi.core.Output<java.lang.Integer> physicalBlockSizeBytes)
        Parameters:
        physicalBlockSizeBytes - 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.
        Returns:
        builder
      • physicalBlockSizeBytes

        public RegionDiskArgs.Builder physicalBlockSizeBytes​(java.lang.Integer physicalBlockSizeBytes)
        Parameters:
        physicalBlockSizeBytes - 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.
        Returns:
        builder
      • project

        public RegionDiskArgs.Builder project​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> project)
        Parameters:
        project - The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
        Returns:
        builder
      • project

        public RegionDiskArgs.Builder project​(java.lang.String project)
        Parameters:
        project - The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
        Returns:
        builder
      • region

        public RegionDiskArgs.Builder region​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - A reference to the region where the disk resides.
        Returns:
        builder
      • region

        public RegionDiskArgs.Builder region​(java.lang.String region)
        Parameters:
        region - A reference to the region where the disk resides.
        Returns:
        builder
      • replicaZones

        public RegionDiskArgs.Builder replicaZones​(com.pulumi.core.Output<java.util.List<java.lang.String>> replicaZones)
        Parameters:
        replicaZones - URLs of the zones where the disk should be replicated to. ***
        Returns:
        builder
      • replicaZones

        public RegionDiskArgs.Builder replicaZones​(java.util.List<java.lang.String> replicaZones)
        Parameters:
        replicaZones - URLs of the zones where the disk should be replicated to. ***
        Returns:
        builder
      • replicaZones

        public RegionDiskArgs.Builder replicaZones​(java.lang.String... replicaZones)
        Parameters:
        replicaZones - URLs of the zones where the disk should be replicated to. ***
        Returns:
        builder
      • size

        public RegionDiskArgs.Builder size​(@Nullable
                                           com.pulumi.core.Output<java.lang.Integer> size)
        Parameters:
        size - 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.
        Returns:
        builder
      • size

        public RegionDiskArgs.Builder size​(java.lang.Integer size)
        Parameters:
        size - 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.
        Returns:
        builder
      • snapshot

        public RegionDiskArgs.Builder snapshot​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> snapshot)
        Parameters:
        snapshot - 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' * 'snapshot'
        Returns:
        builder
      • snapshot

        public RegionDiskArgs.Builder snapshot​(java.lang.String snapshot)
        Parameters:
        snapshot - 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' * 'snapshot'
        Returns:
        builder
      • sourceDisk

        public RegionDiskArgs.Builder sourceDisk​(@Nullable
                                                 com.pulumi.core.Output<java.lang.String> sourceDisk)
        Parameters:
        sourceDisk - 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}
        Returns:
        builder
      • sourceDisk

        public RegionDiskArgs.Builder sourceDisk​(java.lang.String sourceDisk)
        Parameters:
        sourceDisk - 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}
        Returns:
        builder
      • sourceSnapshotEncryptionKey

        public RegionDiskArgs.Builder sourceSnapshotEncryptionKey​(@Nullable
                                                                  com.pulumi.core.Output<RegionDiskSourceSnapshotEncryptionKeyArgs> sourceSnapshotEncryptionKey)
        Parameters:
        sourceSnapshotEncryptionKey - 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.
        Returns:
        builder
      • sourceSnapshotEncryptionKey

        public RegionDiskArgs.Builder sourceSnapshotEncryptionKey​(RegionDiskSourceSnapshotEncryptionKeyArgs sourceSnapshotEncryptionKey)
        Parameters:
        sourceSnapshotEncryptionKey - 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.
        Returns:
        builder
      • type

        public RegionDiskArgs.Builder type​(@Nullable
                                           com.pulumi.core.Output<java.lang.String> type)
        Parameters:
        type - URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk.
        Returns:
        builder
      • type

        public RegionDiskArgs.Builder type​(java.lang.String type)
        Parameters:
        type - URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk.
        Returns:
        builder