Documentation
¶
Index ¶
- func KmsKey_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, ...) cdktf.ImportableResource
- func KmsKey_IsConstruct(x interface{}) *bool
- func KmsKey_IsTerraformElement(x interface{}) *bool
- func KmsKey_IsTerraformResource(x interface{}) *bool
- func KmsKey_TfResourceType() *string
- func NewKmsKey_Override(k KmsKey, scope constructs.Construct, id *string, config *KmsKeyConfig)
- type KmsKey
- type KmsKeyConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func KmsKey_GenerateConfigForImport ¶
func KmsKey_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource
Generates CDKTF code for importing a KmsKey resource upon running "cdktf plan <stack-name>".
func KmsKey_IsConstruct ¶
func KmsKey_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func KmsKey_IsTerraformResource ¶
func KmsKey_IsTerraformResource(x interface{}) *bool
Experimental.
func KmsKey_TfResourceType ¶
func KmsKey_TfResourceType() *string
func NewKmsKey_Override ¶
func NewKmsKey_Override(k KmsKey, scope constructs.Construct, id *string, config *KmsKeyConfig)
Create a new {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key stackit_kms_key} Resource.
Types ¶
type KmsKey ¶
type KmsKey interface {
cdktf.TerraformResource
AccessScope() *string
SetAccessScope(val *string)
AccessScopeInput() *string
Algorithm() *string
SetAlgorithm(val *string)
AlgorithmInput() *string
// Experimental.
CdktfStack() cdktf.TerraformStack
// Experimental.
Connection() interface{}
// Experimental.
SetConnection(val interface{})
// Experimental.
ConstructNodeMetadata() *map[string]interface{}
// Experimental.
Count() interface{}
// Experimental.
SetCount(val interface{})
// Experimental.
DependsOn() *[]*string
// Experimental.
SetDependsOn(val *[]*string)
Description() *string
SetDescription(val *string)
DescriptionInput() *string
DisplayName() *string
SetDisplayName(val *string)
DisplayNameInput() *string
// Experimental.
ForEach() cdktf.ITerraformIterator
// Experimental.
SetForEach(val cdktf.ITerraformIterator)
// Experimental.
Fqn() *string
// Experimental.
FriendlyUniqueId() *string
Id() *string
ImportOnly() interface{}
SetImportOnly(val interface{})
ImportOnlyInput() interface{}
KeyId() *string
KeyringId() *string
SetKeyringId(val *string)
KeyringIdInput() *string
// Experimental.
Lifecycle() *cdktf.TerraformResourceLifecycle
// Experimental.
SetLifecycle(val *cdktf.TerraformResourceLifecycle)
// The tree node.
Node() constructs.Node
ProjectId() *string
SetProjectId(val *string)
ProjectIdInput() *string
Protection() *string
SetProtection(val *string)
ProtectionInput() *string
// Experimental.
Provider() cdktf.TerraformProvider
// Experimental.
SetProvider(val cdktf.TerraformProvider)
// Experimental.
Provisioners() *[]interface{}
// Experimental.
SetProvisioners(val *[]interface{})
Purpose() *string
SetPurpose(val *string)
PurposeInput() *string
// Experimental.
RawOverrides() interface{}
Region() *string
SetRegion(val *string)
RegionInput() *string
// Experimental.
TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
// Experimental.
TerraformMetaArguments() *map[string]interface{}
// Experimental.
TerraformResourceType() *string
// Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.
// Experimental.
AddMoveTarget(moveTarget *string)
// Experimental.
AddOverride(path *string, value interface{})
// Experimental.
GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
// Experimental.
GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
// Experimental.
GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
// Experimental.
GetListAttribute(terraformAttribute *string) *[]*string
// Experimental.
GetNumberAttribute(terraformAttribute *string) *float64
// Experimental.
GetNumberListAttribute(terraformAttribute *string) *[]*float64
// Experimental.
GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
// Experimental.
GetStringAttribute(terraformAttribute *string) *string
// Experimental.
GetStringMapAttribute(terraformAttribute *string) *map[string]*string
// Experimental.
HasResourceMove() interface{}
// Experimental.
ImportFrom(id *string, provider cdktf.TerraformProvider)
// Experimental.
InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
// Move the resource corresponding to "id" to this resource.
//
// Note that the resource being moved from must be marked as moved using it's instance function.
// Experimental.
MoveFromId(id *string)
// Moves this resource to the target resource given by moveTarget.
// Experimental.
MoveTo(moveTarget *string, index interface{})
// Moves this resource to the resource corresponding to "id".
// Experimental.
MoveToId(id *string)
// Overrides the auto-generated logical ID with a specific ID.
// Experimental.
OverrideLogicalId(newLogicalId *string)
ResetAccessScope()
ResetDescription()
ResetImportOnly()
// Resets a previously passed logical Id to use the auto-generated logical id again.
// Experimental.
ResetOverrideLogicalId()
ResetRegion()
SynthesizeAttributes() *map[string]interface{}
SynthesizeHclAttributes() *map[string]interface{}
// Experimental.
ToHclTerraform() interface{}
// Experimental.
ToMetadata() interface{}
// Returns a string representation of this construct.
ToString() *string
// Adds this resource to the terraform JSON output.
// Experimental.
ToTerraform() interface{}
}
Represents a {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key stackit_kms_key}.
func NewKmsKey ¶
func NewKmsKey(scope constructs.Construct, id *string, config *KmsKeyConfig) KmsKey
Create a new {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key stackit_kms_key} Resource.
type KmsKeyConfig ¶
type KmsKeyConfig struct {
// Experimental.
Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
// Experimental.
Count interface{} `field:"optional" json:"count" yaml:"count"`
// Experimental.
DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
// Experimental.
ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
// Experimental.
Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
// Experimental.
Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
// Experimental.
Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
// The encryption algorithm that the key will use to encrypt data.
//
// Possible values are: `aes_256_gcm`, `rsa_2048_oaep_sha256`, `rsa_3072_oaep_sha256`, `rsa_4096_oaep_sha256`, `rsa_4096_oaep_sha512`, `hmac_sha256`, `hmac_sha384`, `hmac_sha512`, `ecdsa_p256_sha256`, `ecdsa_p384_sha384`, `ecdsa_p521_sha512`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key#algorithm KmsKey#algorithm}
Algorithm *string `field:"required" json:"algorithm" yaml:"algorithm"`
// The display name to distinguish multiple keys.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key#display_name KmsKey#display_name}
DisplayName *string `field:"required" json:"displayName" yaml:"displayName"`
// The ID of the associated keyring.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key#keyring_id KmsKey#keyring_id}
KeyringId *string `field:"required" json:"keyringId" yaml:"keyringId"`
// STACKIT project ID to which the key is associated.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key#project_id KmsKey#project_id}
ProjectId *string `field:"required" json:"projectId" yaml:"projectId"`
// The underlying system that is responsible for protecting the key material. Possible values are: `software`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key#protection KmsKey#protection}
Protection *string `field:"required" json:"protection" yaml:"protection"`
// The purpose for which the key will be used. Possible values are: `symmetric_encrypt_decrypt`, `asymmetric_encrypt_decrypt`, `message_authentication_code`, `asymmetric_sign_verify`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key#purpose KmsKey#purpose}
Purpose *string `field:"required" json:"purpose" yaml:"purpose"`
// The access scope of the key. Default is `PUBLIC`. Possible values are: `PUBLIC`, `SNA`.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key#access_scope KmsKey#access_scope}
AccessScope *string `field:"optional" json:"accessScope" yaml:"accessScope"`
// A user chosen description to distinguish multiple keys.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key#description KmsKey#description}
Description *string `field:"optional" json:"description" yaml:"description"`
// States whether versions can be created or only imported.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key#import_only KmsKey#import_only}
ImportOnly interface{} `field:"optional" json:"importOnly" yaml:"importOnly"`
// The resource region. If not defined, the provider region is used.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.85.0/docs/resources/kms_key#region KmsKey#region}
Region *string `field:"optional" json:"region" yaml:"region"`
}