Class SnapshotArgs.Builder

  • Enclosing class:
    SnapshotArgs

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

      • Builder

        public Builder()
    • Method Detail

      • chainName

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

        public SnapshotArgs.Builder chainName​(java.lang.String chainName)
        Parameters:
        chainName - 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.
        Returns:
        builder
      • description

        public SnapshotArgs.Builder description​(@Nullable
                                                com.pulumi.core.Output<java.lang.String> description)
        Parameters:
        description - An optional description of this resource.
        Returns:
        builder
      • description

        public SnapshotArgs.Builder description​(java.lang.String description)
        Parameters:
        description - An optional description of this resource.
        Returns:
        builder
      • labels

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

        public SnapshotArgs.Builder labels​(java.util.Map<java.lang.String,​java.lang.String> labels)
        Parameters:
        labels - 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.
        Returns:
        builder
      • name

        public SnapshotArgs.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 SnapshotArgs.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
      • project

        public SnapshotArgs.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 SnapshotArgs.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
      • snapshotEncryptionKey

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

        public SnapshotArgs.Builder snapshotEncryptionKey​(SnapshotSnapshotEncryptionKeyArgs snapshotEncryptionKey)
        Parameters:
        snapshotEncryptionKey - 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.
        Returns:
        builder
      • sourceDisk

        public SnapshotArgs.Builder sourceDisk​(com.pulumi.core.Output<java.lang.String> sourceDisk)
        Parameters:
        sourceDisk - A reference to the disk used to create this snapshot. ***
        Returns:
        builder
      • sourceDisk

        public SnapshotArgs.Builder sourceDisk​(java.lang.String sourceDisk)
        Parameters:
        sourceDisk - A reference to the disk used to create this snapshot. ***
        Returns:
        builder
      • sourceDiskEncryptionKey

        public SnapshotArgs.Builder sourceDiskEncryptionKey​(@Nullable
                                                            com.pulumi.core.Output<SnapshotSourceDiskEncryptionKeyArgs> sourceDiskEncryptionKey)
        Parameters:
        sourceDiskEncryptionKey - 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
      • sourceDiskEncryptionKey

        public SnapshotArgs.Builder sourceDiskEncryptionKey​(SnapshotSourceDiskEncryptionKeyArgs sourceDiskEncryptionKey)
        Parameters:
        sourceDiskEncryptionKey - 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
      • storageLocations

        public SnapshotArgs.Builder storageLocations​(@Nullable
                                                     com.pulumi.core.Output<java.util.List<java.lang.String>> storageLocations)
        Parameters:
        storageLocations - Cloud Storage bucket storage location of the snapshot (regional or multi-regional).
        Returns:
        builder
      • storageLocations

        public SnapshotArgs.Builder storageLocations​(java.util.List<java.lang.String> storageLocations)
        Parameters:
        storageLocations - Cloud Storage bucket storage location of the snapshot (regional or multi-regional).
        Returns:
        builder
      • storageLocations

        public SnapshotArgs.Builder storageLocations​(java.lang.String... storageLocations)
        Parameters:
        storageLocations - Cloud Storage bucket storage location of the snapshot (regional or multi-regional).
        Returns:
        builder
      • zone

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

        public SnapshotArgs.Builder zone​(java.lang.String zone)
        Parameters:
        zone - A reference to the zone where the disk is hosted.
        Returns:
        builder