Interface KmsCryptoKeyConfig

  • All Superinterfaces:
    software.amazon.jsii.JsiiSerializable, com.hashicorp.cdktf.TerraformMetaArguments
    All Known Implementing Classes:
    KmsCryptoKeyConfig.Jsii$Proxy

    @Generated(value="jsii-pacmak/1.102.0 (build e354887)",
               date="2024-08-31T03:59:21.765Z")
    @Stability(Stable)
    public interface KmsCryptoKeyConfig
    extends software.amazon.jsii.JsiiSerializable, com.hashicorp.cdktf.TerraformMetaArguments
    • Method Detail

      • getKeyRing

        @Stability(Stable)
        @NotNull
        String getKeyRing()
        The KeyRing that this key belongs to. Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}''.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/kms_crypto_key#key_ring KmsCryptoKey#key_ring}

      • getName

        @Stability(Stable)
        @NotNull
        String getName()
        The resource name for the CryptoKey.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/kms_crypto_key#name KmsCryptoKey#name}

      • getCryptoKeyBackend

        @Stability(Stable)
        @Nullable
        default String getCryptoKeyBackend()
        The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.

        The resource name is in the format "projects/* /locations/* /ekmConnections/*" and only applies to "EXTERNAL_VPC" keys. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/kms_crypto_key#crypto_key_backend KmsCryptoKey#crypto_key_backend} Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.

      • getDestroyScheduledDuration

        @Stability(Stable)
        @Nullable
        default String getDestroyScheduledDuration()
        The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.

        If not specified at creation time, the default duration is 30 days. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/kms_crypto_key#destroy_scheduled_duration KmsCryptoKey#destroy_scheduled_duration}

      • getId

        @Stability(Stable)
        @Nullable
        default String getId()
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/kms_crypto_key#id KmsCryptoKey#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.

      • getImportOnly

        @Stability(Stable)
        @Nullable
        default Object getImportOnly()
        Whether this key may contain imported versions only.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/kms_crypto_key#import_only KmsCryptoKey#import_only}

      • getLabels

        @Stability(Stable)
        @Nullable
        default Map<String,​String> getLabels()
        Labels with user-defined metadata to apply to this resource.

        **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/kms_crypto_key#labels KmsCryptoKey#labels}

      • getPurpose

        @Stability(Stable)
        @Nullable
        default String getPurpose()
        The immutable purpose of this CryptoKey. See the purpose reference for possible inputs. Default value is "ENCRYPT_DECRYPT".

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/kms_crypto_key#purpose KmsCryptoKey#purpose}

      • getRotationPeriod

        @Stability(Stable)
        @Nullable
        default String getRotationPeriod()
        Every time this period passes, generate a new CryptoKeyVersion and set it as the primary.

        The first rotation will take place after the specified period. The rotation period has the format of a decimal number with up to 9 fractional digits, followed by the letter 's' (seconds). It must be greater than a day (ie, 86400). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/kms_crypto_key#rotation_period KmsCryptoKey#rotation_period}

      • getSkipInitialVersionCreation

        @Stability(Stable)
        @Nullable
        default Object getSkipInitialVersionCreation()
        If set to true, the request will create a CryptoKey without any CryptoKeyVersions.

        You must use the 'google_kms_crypto_key_version' resource to create a new CryptoKeyVersion or 'google_kms_key_ring_import_job' resource to import the CryptoKeyVersion. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/kms_crypto_key#skip_initial_version_creation KmsCryptoKey#skip_initial_version_creation}

      • getTimeouts

        @Stability(Stable)
        @Nullable
        default KmsCryptoKeyTimeouts getTimeouts()
        timeouts block.

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

      • getVersionTemplate

        @Stability(Stable)
        @Nullable
        default KmsCryptoKeyVersionTemplate getVersionTemplate()
        version_template block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/kms_crypto_key#version_template KmsCryptoKey#version_template}