Class SecretManagerSecret.Builder

    • Method Detail

      • create

        @Stability(Stable)
        public static SecretManagerSecret.Builder create​(software.constructs.Construct scope,
                                                         String id)
        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        Returns:
        a new instance of SecretManagerSecret.Builder.
      • connection

        @Stability(Experimental)
        public SecretManagerSecret.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public SecretManagerSecret.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public SecretManagerSecret.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public SecretManagerSecret.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Parameters:
        dependsOn - This parameter is required.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public SecretManagerSecret.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Parameters:
        forEach - This parameter is required.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public SecretManagerSecret.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Parameters:
        lifecycle - This parameter is required.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public SecretManagerSecret.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Parameters:
        provider - This parameter is required.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public SecretManagerSecret.Builder provisioners​(List<? extends Object> provisioners)
        Parameters:
        provisioners - This parameter is required.
        Returns:
        this
      • replication

        @Stability(Stable)
        public SecretManagerSecret.Builder replication​(SecretManagerSecretReplication replication)
        replication block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#replication SecretManagerSecret#replication}

        Parameters:
        replication - replication block. This parameter is required.
        Returns:
        this
      • secretId

        @Stability(Stable)
        public SecretManagerSecret.Builder secretId​(String secretId)
        This must be unique within the project.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#secret_id SecretManagerSecret#secret_id}

        Parameters:
        secretId - This must be unique within the project. This parameter is required.
        Returns:
        this
      • annotations

        @Stability(Stable)
        public SecretManagerSecret.Builder annotations​(Map<String,​String> annotations)
        Custom metadata about the secret.

        Annotations are distinct from various forms of labels. Annotations exist to allow client tools to store their own state information without requiring a database. Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and may have dashes (-), underscores (_), dots (.), and alphanumerics in between these symbols. The total size of annotation keys and values must be less than 16KiB. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#annotations SecretManagerSecret#annotations}

        Parameters:
        annotations - Custom metadata about the secret. This parameter is required.
        Returns:
        this
      • expireTime

        @Stability(Stable)
        public SecretManagerSecret.Builder expireTime​(String expireTime)
        Timestamp in UTC when the Secret is scheduled to expire.

        This is always provided on output, regardless of what was sent on input. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". Only one of 'expire_time' or 'ttl' can be provided. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#expire_time SecretManagerSecret#expire_time}

        Parameters:
        expireTime - Timestamp in UTC when the Secret is scheduled to expire. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public SecretManagerSecret.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#id SecretManagerSecret#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.

        Parameters:
        id - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#id SecretManagerSecret#id}. This parameter is required.
        Returns:
        this
      • labels

        @Stability(Stable)
        public SecretManagerSecret.Builder labels​(Map<String,​String> labels)
        The labels assigned to this Secret.

        Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62} Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be assigned to a given resource. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. **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/secret_manager_secret#labels SecretManagerSecret#labels}

        Parameters:
        labels - The labels assigned to this Secret. This parameter is required.
        Returns:
        this
      • project

        @Stability(Stable)
        public SecretManagerSecret.Builder project​(String project)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#project SecretManagerSecret#project}.

        Parameters:
        project - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#project SecretManagerSecret#project}. This parameter is required.
        Returns:
        this
      • rotation

        @Stability(Stable)
        public SecretManagerSecret.Builder rotation​(SecretManagerSecretRotation rotation)
        rotation block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#rotation SecretManagerSecret#rotation}

        Parameters:
        rotation - rotation block. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public SecretManagerSecret.Builder timeouts​(SecretManagerSecretTimeouts timeouts)
        timeouts block.

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

        Parameters:
        timeouts - timeouts block. This parameter is required.
        Returns:
        this
      • topics

        @Stability(Stable)
        public SecretManagerSecret.Builder topics​(com.hashicorp.cdktf.IResolvable topics)
        topics block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#topics SecretManagerSecret#topics}

        Parameters:
        topics - topics block. This parameter is required.
        Returns:
        this
      • topics

        @Stability(Stable)
        public SecretManagerSecret.Builder topics​(List<? extends SecretManagerSecretTopics> topics)
        topics block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#topics SecretManagerSecret#topics}

        Parameters:
        topics - topics block. This parameter is required.
        Returns:
        this
      • ttl

        @Stability(Stable)
        public SecretManagerSecret.Builder ttl​(String ttl)
        The TTL for the Secret.

        A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Only one of 'ttl' or 'expire_time' can be provided. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#ttl SecretManagerSecret#ttl}

        Parameters:
        ttl - The TTL for the Secret. This parameter is required.
        Returns:
        this
      • versionAliases

        @Stability(Stable)
        public SecretManagerSecret.Builder versionAliases​(Map<String,​String> versionAliases)
        Mapping from version alias to version name.

        A version alias is a string with a maximum length of 63 characters and can contain uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_') characters. An alias string must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#version_aliases SecretManagerSecret#version_aliases}

        Parameters:
        versionAliases - Mapping from version alias to version name. This parameter is required.
        Returns:
        this
      • versionDestroyTtl

        @Stability(Stable)
        public SecretManagerSecret.Builder versionDestroyTtl​(String versionDestroyTtl)
        Secret Version TTL after destruction request.

        This is a part of the delayed delete feature on Secret Version. For secret with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to a disabled state and the actual destruction happens after this TTL expires. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/secret_manager_secret#version_destroy_ttl SecretManagerSecret#version_destroy_ttl}

        Parameters:
        versionDestroyTtl - Secret Version TTL after destruction request. This parameter is required.
        Returns:
        this