kms

package
v2.35.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Alias

type Alias struct {
	pulumi.CustomResourceState

	// The alias of CMK. `Encrypt`、`GenerateDataKey`、`DescribeKey` can be called using aliases. Length of characters other than prefixes: minimum length of 1 character and maximum length of 255 characters. Must contain prefix `alias/`.
	AliasName pulumi.StringOutput `pulumi:"aliasName"`
	// The id of the key.
	KeyId pulumi.StringOutput `pulumi:"keyId"`
}

Create an alias for the master key (CMK).

> **NOTE:** Available in v1.77.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kms"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		thisKey, err := kms.NewKey(ctx, "thisKey", nil)
		if err != nil {
			return err
		}
		_, err = kms.NewAlias(ctx, "thisAlias", &kms.AliasArgs{
			AliasName: pulumi.String("alias/test_kms_alias"),
			KeyId:     thisKey.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

KMS alias can be imported using the id, e.g.

```sh

$ pulumi import alicloud:kms/alias:Alias example alias/test_kms_alias

```

func GetAlias

func GetAlias(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AliasState, opts ...pulumi.ResourceOption) (*Alias, error)

GetAlias gets an existing Alias resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAlias

func NewAlias(ctx *pulumi.Context,
	name string, args *AliasArgs, opts ...pulumi.ResourceOption) (*Alias, error)

NewAlias registers a new resource with the given unique name, arguments, and options.

func (*Alias) ElementType added in v2.25.1

func (*Alias) ElementType() reflect.Type

func (*Alias) ToAliasOutput added in v2.25.1

func (i *Alias) ToAliasOutput() AliasOutput

func (*Alias) ToAliasOutputWithContext added in v2.25.1

func (i *Alias) ToAliasOutputWithContext(ctx context.Context) AliasOutput

func (*Alias) ToAliasPtrOutput added in v2.35.1

func (i *Alias) ToAliasPtrOutput() AliasPtrOutput

func (*Alias) ToAliasPtrOutputWithContext added in v2.35.1

func (i *Alias) ToAliasPtrOutputWithContext(ctx context.Context) AliasPtrOutput

type AliasArgs

type AliasArgs struct {
	// The alias of CMK. `Encrypt`、`GenerateDataKey`、`DescribeKey` can be called using aliases. Length of characters other than prefixes: minimum length of 1 character and maximum length of 255 characters. Must contain prefix `alias/`.
	AliasName pulumi.StringInput
	// The id of the key.
	KeyId pulumi.StringInput
}

The set of arguments for constructing a Alias resource.

func (AliasArgs) ElementType

func (AliasArgs) ElementType() reflect.Type

type AliasArray added in v2.35.1

type AliasArray []AliasInput

func (AliasArray) ElementType added in v2.35.1

func (AliasArray) ElementType() reflect.Type

func (AliasArray) ToAliasArrayOutput added in v2.35.1

func (i AliasArray) ToAliasArrayOutput() AliasArrayOutput

func (AliasArray) ToAliasArrayOutputWithContext added in v2.35.1

func (i AliasArray) ToAliasArrayOutputWithContext(ctx context.Context) AliasArrayOutput

type AliasArrayInput added in v2.35.1

type AliasArrayInput interface {
	pulumi.Input

	ToAliasArrayOutput() AliasArrayOutput
	ToAliasArrayOutputWithContext(context.Context) AliasArrayOutput
}

AliasArrayInput is an input type that accepts AliasArray and AliasArrayOutput values. You can construct a concrete instance of `AliasArrayInput` via:

AliasArray{ AliasArgs{...} }

type AliasArrayOutput added in v2.35.1

type AliasArrayOutput struct{ *pulumi.OutputState }

func (AliasArrayOutput) ElementType added in v2.35.1

func (AliasArrayOutput) ElementType() reflect.Type

func (AliasArrayOutput) Index added in v2.35.1

func (AliasArrayOutput) ToAliasArrayOutput added in v2.35.1

func (o AliasArrayOutput) ToAliasArrayOutput() AliasArrayOutput

func (AliasArrayOutput) ToAliasArrayOutputWithContext added in v2.35.1

func (o AliasArrayOutput) ToAliasArrayOutputWithContext(ctx context.Context) AliasArrayOutput

type AliasInput added in v2.25.1

type AliasInput interface {
	pulumi.Input

	ToAliasOutput() AliasOutput
	ToAliasOutputWithContext(ctx context.Context) AliasOutput
}

type AliasMap added in v2.35.1

type AliasMap map[string]AliasInput

func (AliasMap) ElementType added in v2.35.1

func (AliasMap) ElementType() reflect.Type

func (AliasMap) ToAliasMapOutput added in v2.35.1

func (i AliasMap) ToAliasMapOutput() AliasMapOutput

func (AliasMap) ToAliasMapOutputWithContext added in v2.35.1

func (i AliasMap) ToAliasMapOutputWithContext(ctx context.Context) AliasMapOutput

type AliasMapInput added in v2.35.1

type AliasMapInput interface {
	pulumi.Input

	ToAliasMapOutput() AliasMapOutput
	ToAliasMapOutputWithContext(context.Context) AliasMapOutput
}

AliasMapInput is an input type that accepts AliasMap and AliasMapOutput values. You can construct a concrete instance of `AliasMapInput` via:

AliasMap{ "key": AliasArgs{...} }

type AliasMapOutput added in v2.35.1

type AliasMapOutput struct{ *pulumi.OutputState }

func (AliasMapOutput) ElementType added in v2.35.1

func (AliasMapOutput) ElementType() reflect.Type

func (AliasMapOutput) MapIndex added in v2.35.1

func (AliasMapOutput) ToAliasMapOutput added in v2.35.1

func (o AliasMapOutput) ToAliasMapOutput() AliasMapOutput

func (AliasMapOutput) ToAliasMapOutputWithContext added in v2.35.1

func (o AliasMapOutput) ToAliasMapOutputWithContext(ctx context.Context) AliasMapOutput

type AliasOutput added in v2.25.1

type AliasOutput struct {
	*pulumi.OutputState
}

func (AliasOutput) ElementType added in v2.25.1

func (AliasOutput) ElementType() reflect.Type

func (AliasOutput) ToAliasOutput added in v2.25.1

func (o AliasOutput) ToAliasOutput() AliasOutput

func (AliasOutput) ToAliasOutputWithContext added in v2.25.1

func (o AliasOutput) ToAliasOutputWithContext(ctx context.Context) AliasOutput

func (AliasOutput) ToAliasPtrOutput added in v2.35.1

func (o AliasOutput) ToAliasPtrOutput() AliasPtrOutput

func (AliasOutput) ToAliasPtrOutputWithContext added in v2.35.1

func (o AliasOutput) ToAliasPtrOutputWithContext(ctx context.Context) AliasPtrOutput

type AliasPtrInput added in v2.35.1

type AliasPtrInput interface {
	pulumi.Input

	ToAliasPtrOutput() AliasPtrOutput
	ToAliasPtrOutputWithContext(ctx context.Context) AliasPtrOutput
}

type AliasPtrOutput added in v2.35.1

type AliasPtrOutput struct {
	*pulumi.OutputState
}

func (AliasPtrOutput) ElementType added in v2.35.1

func (AliasPtrOutput) ElementType() reflect.Type

func (AliasPtrOutput) ToAliasPtrOutput added in v2.35.1

func (o AliasPtrOutput) ToAliasPtrOutput() AliasPtrOutput

func (AliasPtrOutput) ToAliasPtrOutputWithContext added in v2.35.1

func (o AliasPtrOutput) ToAliasPtrOutputWithContext(ctx context.Context) AliasPtrOutput

type AliasState

type AliasState struct {
	// The alias of CMK. `Encrypt`、`GenerateDataKey`、`DescribeKey` can be called using aliases. Length of characters other than prefixes: minimum length of 1 character and maximum length of 255 characters. Must contain prefix `alias/`.
	AliasName pulumi.StringPtrInput
	// The id of the key.
	KeyId pulumi.StringPtrInput
}

func (AliasState) ElementType

func (AliasState) ElementType() reflect.Type

type Ciphertext

type Ciphertext struct {
	pulumi.CustomResourceState

	// The ciphertext of the data key encrypted with the primary CMK version.
	CiphertextBlob pulumi.StringOutput `pulumi:"ciphertextBlob"`
	// -
	// (Optional, ForceNew) The Encryption context. If you specify this parameter here, it is also required when you call the Decrypt API operation. For more information, see [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm).
	EncryptionContext pulumi.StringMapOutput `pulumi:"encryptionContext"`
	// The globally unique ID of the CMK.
	KeyId pulumi.StringOutput `pulumi:"keyId"`
	// The plaintext to be encrypted which must be encoded in Base64.
	Plaintext pulumi.StringOutput `pulumi:"plaintext"`
}

func GetCiphertext

func GetCiphertext(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CiphertextState, opts ...pulumi.ResourceOption) (*Ciphertext, error)

GetCiphertext gets an existing Ciphertext resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCiphertext

func NewCiphertext(ctx *pulumi.Context,
	name string, args *CiphertextArgs, opts ...pulumi.ResourceOption) (*Ciphertext, error)

NewCiphertext registers a new resource with the given unique name, arguments, and options.

func (*Ciphertext) ElementType added in v2.25.1

func (*Ciphertext) ElementType() reflect.Type

func (*Ciphertext) ToCiphertextOutput added in v2.25.1

func (i *Ciphertext) ToCiphertextOutput() CiphertextOutput

func (*Ciphertext) ToCiphertextOutputWithContext added in v2.25.1

func (i *Ciphertext) ToCiphertextOutputWithContext(ctx context.Context) CiphertextOutput

func (*Ciphertext) ToCiphertextPtrOutput added in v2.35.1

func (i *Ciphertext) ToCiphertextPtrOutput() CiphertextPtrOutput

func (*Ciphertext) ToCiphertextPtrOutputWithContext added in v2.35.1

func (i *Ciphertext) ToCiphertextPtrOutputWithContext(ctx context.Context) CiphertextPtrOutput

type CiphertextArgs

type CiphertextArgs struct {
	// -
	// (Optional, ForceNew) The Encryption context. If you specify this parameter here, it is also required when you call the Decrypt API operation. For more information, see [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm).
	EncryptionContext pulumi.StringMapInput
	// The globally unique ID of the CMK.
	KeyId pulumi.StringInput
	// The plaintext to be encrypted which must be encoded in Base64.
	Plaintext pulumi.StringInput
}

The set of arguments for constructing a Ciphertext resource.

func (CiphertextArgs) ElementType

func (CiphertextArgs) ElementType() reflect.Type

type CiphertextArray added in v2.35.1

type CiphertextArray []CiphertextInput

func (CiphertextArray) ElementType added in v2.35.1

func (CiphertextArray) ElementType() reflect.Type

func (CiphertextArray) ToCiphertextArrayOutput added in v2.35.1

func (i CiphertextArray) ToCiphertextArrayOutput() CiphertextArrayOutput

func (CiphertextArray) ToCiphertextArrayOutputWithContext added in v2.35.1

func (i CiphertextArray) ToCiphertextArrayOutputWithContext(ctx context.Context) CiphertextArrayOutput

type CiphertextArrayInput added in v2.35.1

type CiphertextArrayInput interface {
	pulumi.Input

	ToCiphertextArrayOutput() CiphertextArrayOutput
	ToCiphertextArrayOutputWithContext(context.Context) CiphertextArrayOutput
}

CiphertextArrayInput is an input type that accepts CiphertextArray and CiphertextArrayOutput values. You can construct a concrete instance of `CiphertextArrayInput` via:

CiphertextArray{ CiphertextArgs{...} }

type CiphertextArrayOutput added in v2.35.1

type CiphertextArrayOutput struct{ *pulumi.OutputState }

func (CiphertextArrayOutput) ElementType added in v2.35.1

func (CiphertextArrayOutput) ElementType() reflect.Type

func (CiphertextArrayOutput) Index added in v2.35.1

func (CiphertextArrayOutput) ToCiphertextArrayOutput added in v2.35.1

func (o CiphertextArrayOutput) ToCiphertextArrayOutput() CiphertextArrayOutput

func (CiphertextArrayOutput) ToCiphertextArrayOutputWithContext added in v2.35.1

func (o CiphertextArrayOutput) ToCiphertextArrayOutputWithContext(ctx context.Context) CiphertextArrayOutput

type CiphertextInput added in v2.25.1

type CiphertextInput interface {
	pulumi.Input

	ToCiphertextOutput() CiphertextOutput
	ToCiphertextOutputWithContext(ctx context.Context) CiphertextOutput
}

type CiphertextMap added in v2.35.1

type CiphertextMap map[string]CiphertextInput

func (CiphertextMap) ElementType added in v2.35.1

func (CiphertextMap) ElementType() reflect.Type

func (CiphertextMap) ToCiphertextMapOutput added in v2.35.1

func (i CiphertextMap) ToCiphertextMapOutput() CiphertextMapOutput

func (CiphertextMap) ToCiphertextMapOutputWithContext added in v2.35.1

func (i CiphertextMap) ToCiphertextMapOutputWithContext(ctx context.Context) CiphertextMapOutput

type CiphertextMapInput added in v2.35.1

type CiphertextMapInput interface {
	pulumi.Input

	ToCiphertextMapOutput() CiphertextMapOutput
	ToCiphertextMapOutputWithContext(context.Context) CiphertextMapOutput
}

CiphertextMapInput is an input type that accepts CiphertextMap and CiphertextMapOutput values. You can construct a concrete instance of `CiphertextMapInput` via:

CiphertextMap{ "key": CiphertextArgs{...} }

type CiphertextMapOutput added in v2.35.1

type CiphertextMapOutput struct{ *pulumi.OutputState }

func (CiphertextMapOutput) ElementType added in v2.35.1

func (CiphertextMapOutput) ElementType() reflect.Type

func (CiphertextMapOutput) MapIndex added in v2.35.1

func (CiphertextMapOutput) ToCiphertextMapOutput added in v2.35.1

func (o CiphertextMapOutput) ToCiphertextMapOutput() CiphertextMapOutput

func (CiphertextMapOutput) ToCiphertextMapOutputWithContext added in v2.35.1

func (o CiphertextMapOutput) ToCiphertextMapOutputWithContext(ctx context.Context) CiphertextMapOutput

type CiphertextOutput added in v2.25.1

type CiphertextOutput struct {
	*pulumi.OutputState
}

func (CiphertextOutput) ElementType added in v2.25.1

func (CiphertextOutput) ElementType() reflect.Type

func (CiphertextOutput) ToCiphertextOutput added in v2.25.1

func (o CiphertextOutput) ToCiphertextOutput() CiphertextOutput

func (CiphertextOutput) ToCiphertextOutputWithContext added in v2.25.1

func (o CiphertextOutput) ToCiphertextOutputWithContext(ctx context.Context) CiphertextOutput

func (CiphertextOutput) ToCiphertextPtrOutput added in v2.35.1

func (o CiphertextOutput) ToCiphertextPtrOutput() CiphertextPtrOutput

func (CiphertextOutput) ToCiphertextPtrOutputWithContext added in v2.35.1

func (o CiphertextOutput) ToCiphertextPtrOutputWithContext(ctx context.Context) CiphertextPtrOutput

type CiphertextPtrInput added in v2.35.1

type CiphertextPtrInput interface {
	pulumi.Input

	ToCiphertextPtrOutput() CiphertextPtrOutput
	ToCiphertextPtrOutputWithContext(ctx context.Context) CiphertextPtrOutput
}

type CiphertextPtrOutput added in v2.35.1

type CiphertextPtrOutput struct {
	*pulumi.OutputState
}

func (CiphertextPtrOutput) ElementType added in v2.35.1

func (CiphertextPtrOutput) ElementType() reflect.Type

func (CiphertextPtrOutput) ToCiphertextPtrOutput added in v2.35.1

func (o CiphertextPtrOutput) ToCiphertextPtrOutput() CiphertextPtrOutput

func (CiphertextPtrOutput) ToCiphertextPtrOutputWithContext added in v2.35.1

func (o CiphertextPtrOutput) ToCiphertextPtrOutputWithContext(ctx context.Context) CiphertextPtrOutput

type CiphertextState

type CiphertextState struct {
	// The ciphertext of the data key encrypted with the primary CMK version.
	CiphertextBlob pulumi.StringPtrInput
	// -
	// (Optional, ForceNew) The Encryption context. If you specify this parameter here, it is also required when you call the Decrypt API operation. For more information, see [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm).
	EncryptionContext pulumi.StringMapInput
	// The globally unique ID of the CMK.
	KeyId pulumi.StringPtrInput
	// The plaintext to be encrypted which must be encoded in Base64.
	Plaintext pulumi.StringPtrInput
}

func (CiphertextState) ElementType

func (CiphertextState) ElementType() reflect.Type

type GetAliasesAlias added in v2.1.0

type GetAliasesAlias struct {
	// The unique identifier of the alias.
	AliasName string `pulumi:"aliasName"`
	// ID of the alias. The value is same as KMS alias_name.
	Id string `pulumi:"id"`
	// ID of the key.
	KeyId string `pulumi:"keyId"`
}

type GetAliasesAliasArgs added in v2.1.0

type GetAliasesAliasArgs struct {
	// The unique identifier of the alias.
	AliasName pulumi.StringInput `pulumi:"aliasName"`
	// ID of the alias. The value is same as KMS alias_name.
	Id pulumi.StringInput `pulumi:"id"`
	// ID of the key.
	KeyId pulumi.StringInput `pulumi:"keyId"`
}

func (GetAliasesAliasArgs) ElementType added in v2.1.0

func (GetAliasesAliasArgs) ElementType() reflect.Type

func (GetAliasesAliasArgs) ToGetAliasesAliasOutput added in v2.1.0

func (i GetAliasesAliasArgs) ToGetAliasesAliasOutput() GetAliasesAliasOutput

func (GetAliasesAliasArgs) ToGetAliasesAliasOutputWithContext added in v2.1.0

func (i GetAliasesAliasArgs) ToGetAliasesAliasOutputWithContext(ctx context.Context) GetAliasesAliasOutput

type GetAliasesAliasArray added in v2.1.0

type GetAliasesAliasArray []GetAliasesAliasInput

func (GetAliasesAliasArray) ElementType added in v2.1.0

func (GetAliasesAliasArray) ElementType() reflect.Type

func (GetAliasesAliasArray) ToGetAliasesAliasArrayOutput added in v2.1.0

func (i GetAliasesAliasArray) ToGetAliasesAliasArrayOutput() GetAliasesAliasArrayOutput

func (GetAliasesAliasArray) ToGetAliasesAliasArrayOutputWithContext added in v2.1.0

func (i GetAliasesAliasArray) ToGetAliasesAliasArrayOutputWithContext(ctx context.Context) GetAliasesAliasArrayOutput

type GetAliasesAliasArrayInput added in v2.1.0

type GetAliasesAliasArrayInput interface {
	pulumi.Input

	ToGetAliasesAliasArrayOutput() GetAliasesAliasArrayOutput
	ToGetAliasesAliasArrayOutputWithContext(context.Context) GetAliasesAliasArrayOutput
}

GetAliasesAliasArrayInput is an input type that accepts GetAliasesAliasArray and GetAliasesAliasArrayOutput values. You can construct a concrete instance of `GetAliasesAliasArrayInput` via:

GetAliasesAliasArray{ GetAliasesAliasArgs{...} }

type GetAliasesAliasArrayOutput added in v2.1.0

type GetAliasesAliasArrayOutput struct{ *pulumi.OutputState }

func (GetAliasesAliasArrayOutput) ElementType added in v2.1.0

func (GetAliasesAliasArrayOutput) ElementType() reflect.Type

func (GetAliasesAliasArrayOutput) Index added in v2.1.0

func (GetAliasesAliasArrayOutput) ToGetAliasesAliasArrayOutput added in v2.1.0

func (o GetAliasesAliasArrayOutput) ToGetAliasesAliasArrayOutput() GetAliasesAliasArrayOutput

func (GetAliasesAliasArrayOutput) ToGetAliasesAliasArrayOutputWithContext added in v2.1.0

func (o GetAliasesAliasArrayOutput) ToGetAliasesAliasArrayOutputWithContext(ctx context.Context) GetAliasesAliasArrayOutput

type GetAliasesAliasInput added in v2.1.0

type GetAliasesAliasInput interface {
	pulumi.Input

	ToGetAliasesAliasOutput() GetAliasesAliasOutput
	ToGetAliasesAliasOutputWithContext(context.Context) GetAliasesAliasOutput
}

GetAliasesAliasInput is an input type that accepts GetAliasesAliasArgs and GetAliasesAliasOutput values. You can construct a concrete instance of `GetAliasesAliasInput` via:

GetAliasesAliasArgs{...}

type GetAliasesAliasOutput added in v2.1.0

type GetAliasesAliasOutput struct{ *pulumi.OutputState }

func (GetAliasesAliasOutput) AliasName added in v2.1.0

The unique identifier of the alias.

func (GetAliasesAliasOutput) ElementType added in v2.1.0

func (GetAliasesAliasOutput) ElementType() reflect.Type

func (GetAliasesAliasOutput) Id added in v2.1.0

ID of the alias. The value is same as KMS alias_name.

func (GetAliasesAliasOutput) KeyId added in v2.1.0

ID of the key.

func (GetAliasesAliasOutput) ToGetAliasesAliasOutput added in v2.1.0

func (o GetAliasesAliasOutput) ToGetAliasesAliasOutput() GetAliasesAliasOutput

func (GetAliasesAliasOutput) ToGetAliasesAliasOutputWithContext added in v2.1.0

func (o GetAliasesAliasOutput) ToGetAliasesAliasOutputWithContext(ctx context.Context) GetAliasesAliasOutput

type GetAliasesArgs added in v2.1.0

type GetAliasesArgs struct {
	// A list of KMS aliases IDs. The value is same as KMS alias_name.
	Ids []string `pulumi:"ids"`
	// A regex string to filter the results by the KMS alias name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getAliases.

type GetAliasesResult added in v2.1.0

type GetAliasesResult struct {
	// A list of KMS User alias. Each element contains the following attributes:
	Aliases []GetAliasesAlias `pulumi:"aliases"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of kms aliases IDs. The value is same as KMS alias_name.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of KMS alias name.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
}

A collection of values returned by getAliases.

func GetAliases added in v2.1.0

func GetAliases(ctx *pulumi.Context, args *GetAliasesArgs, opts ...pulumi.InvokeOption) (*GetAliasesResult, error)

This data source provides a list of KMS aliases in an Alibaba Cloud account according to the specified filters.

> **NOTE:** Available in v1.79.0+.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kms"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "alias/tf-testKmsAlias_123"
		_, err := kms.GetAliases(ctx, &kms.GetAliasesArgs{
			Ids: []string{
				"d89e8a53-b708-41aa-8c67-6873axxx",
			},
			NameRegex: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstKeyId", data.Alicloud_kms_keys.Kms_keys_ds.Keys[0].Id)
		return nil
	})
}

```

type GetKeyVersionsArgs added in v2.7.0

type GetKeyVersionsArgs struct {
	// A list of KMS KeyVersion IDs.
	Ids []string `pulumi:"ids"`
	// The id of kms key.
	KeyId      string  `pulumi:"keyId"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getKeyVersions.

type GetKeyVersionsResult added in v2.7.0

type GetKeyVersionsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of KMS KeyVersion IDs.
	Ids []string `pulumi:"ids"`
	// ID of the key.
	KeyId      string  `pulumi:"keyId"`
	OutputFile *string `pulumi:"outputFile"`
	// A list of KMS KeyVersions. Each element contains the following attributes:
	Versions []GetKeyVersionsVersion `pulumi:"versions"`
}

A collection of values returned by getKeyVersions.

func GetKeyVersions added in v2.7.0

func GetKeyVersions(ctx *pulumi.Context, args *GetKeyVersionsArgs, opts ...pulumi.InvokeOption) (*GetKeyVersionsResult, error)

This data source provides a list of KMS KeyVersions in an Alibaba Cloud account according to the specified filters.

> NOTE: Available in v1.85.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kms"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		alicloudKmsKeyVersionsDs, err := kms.GetKeyVersions(ctx, &kms.GetKeyVersionsArgs{
			Ids: []string{
				"d89e8a53-b708-41aa-8c67-6873axxx",
			},
			KeyId: "08438c-b4d5-4d05-928c-07b7xxxx",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("allVersions", alicloudKmsKeyVersionsDs.Versions)
		return nil
	})
}

```

type GetKeyVersionsVersion added in v2.7.0

type GetKeyVersionsVersion struct {
	// Date and time when the key version was created (UTC time).
	CreationDate string `pulumi:"creationDate"`
	// ID of the KMS KeyVersion resource.
	Id string `pulumi:"id"`
	// The id of kms key.
	KeyId string `pulumi:"keyId"`
	// ID of the key version.
	KeyVersionId string `pulumi:"keyVersionId"`
}

type GetKeyVersionsVersionArgs added in v2.7.0

type GetKeyVersionsVersionArgs struct {
	// Date and time when the key version was created (UTC time).
	CreationDate pulumi.StringInput `pulumi:"creationDate"`
	// ID of the KMS KeyVersion resource.
	Id pulumi.StringInput `pulumi:"id"`
	// The id of kms key.
	KeyId pulumi.StringInput `pulumi:"keyId"`
	// ID of the key version.
	KeyVersionId pulumi.StringInput `pulumi:"keyVersionId"`
}

func (GetKeyVersionsVersionArgs) ElementType added in v2.7.0

func (GetKeyVersionsVersionArgs) ElementType() reflect.Type

func (GetKeyVersionsVersionArgs) ToGetKeyVersionsVersionOutput added in v2.7.0

func (i GetKeyVersionsVersionArgs) ToGetKeyVersionsVersionOutput() GetKeyVersionsVersionOutput

func (GetKeyVersionsVersionArgs) ToGetKeyVersionsVersionOutputWithContext added in v2.7.0

func (i GetKeyVersionsVersionArgs) ToGetKeyVersionsVersionOutputWithContext(ctx context.Context) GetKeyVersionsVersionOutput

type GetKeyVersionsVersionArray added in v2.7.0

type GetKeyVersionsVersionArray []GetKeyVersionsVersionInput

func (GetKeyVersionsVersionArray) ElementType added in v2.7.0

func (GetKeyVersionsVersionArray) ElementType() reflect.Type

func (GetKeyVersionsVersionArray) ToGetKeyVersionsVersionArrayOutput added in v2.7.0

func (i GetKeyVersionsVersionArray) ToGetKeyVersionsVersionArrayOutput() GetKeyVersionsVersionArrayOutput

func (GetKeyVersionsVersionArray) ToGetKeyVersionsVersionArrayOutputWithContext added in v2.7.0

func (i GetKeyVersionsVersionArray) ToGetKeyVersionsVersionArrayOutputWithContext(ctx context.Context) GetKeyVersionsVersionArrayOutput

type GetKeyVersionsVersionArrayInput added in v2.7.0

type GetKeyVersionsVersionArrayInput interface {
	pulumi.Input

	ToGetKeyVersionsVersionArrayOutput() GetKeyVersionsVersionArrayOutput
	ToGetKeyVersionsVersionArrayOutputWithContext(context.Context) GetKeyVersionsVersionArrayOutput
}

GetKeyVersionsVersionArrayInput is an input type that accepts GetKeyVersionsVersionArray and GetKeyVersionsVersionArrayOutput values. You can construct a concrete instance of `GetKeyVersionsVersionArrayInput` via:

GetKeyVersionsVersionArray{ GetKeyVersionsVersionArgs{...} }

type GetKeyVersionsVersionArrayOutput added in v2.7.0

type GetKeyVersionsVersionArrayOutput struct{ *pulumi.OutputState }

func (GetKeyVersionsVersionArrayOutput) ElementType added in v2.7.0

func (GetKeyVersionsVersionArrayOutput) Index added in v2.7.0

func (GetKeyVersionsVersionArrayOutput) ToGetKeyVersionsVersionArrayOutput added in v2.7.0

func (o GetKeyVersionsVersionArrayOutput) ToGetKeyVersionsVersionArrayOutput() GetKeyVersionsVersionArrayOutput

func (GetKeyVersionsVersionArrayOutput) ToGetKeyVersionsVersionArrayOutputWithContext added in v2.7.0

func (o GetKeyVersionsVersionArrayOutput) ToGetKeyVersionsVersionArrayOutputWithContext(ctx context.Context) GetKeyVersionsVersionArrayOutput

type GetKeyVersionsVersionInput added in v2.7.0

type GetKeyVersionsVersionInput interface {
	pulumi.Input

	ToGetKeyVersionsVersionOutput() GetKeyVersionsVersionOutput
	ToGetKeyVersionsVersionOutputWithContext(context.Context) GetKeyVersionsVersionOutput
}

GetKeyVersionsVersionInput is an input type that accepts GetKeyVersionsVersionArgs and GetKeyVersionsVersionOutput values. You can construct a concrete instance of `GetKeyVersionsVersionInput` via:

GetKeyVersionsVersionArgs{...}

type GetKeyVersionsVersionOutput added in v2.7.0

type GetKeyVersionsVersionOutput struct{ *pulumi.OutputState }

func (GetKeyVersionsVersionOutput) CreationDate added in v2.7.0

Date and time when the key version was created (UTC time).

func (GetKeyVersionsVersionOutput) ElementType added in v2.7.0

func (GetKeyVersionsVersionOutput) Id added in v2.7.0

ID of the KMS KeyVersion resource.

func (GetKeyVersionsVersionOutput) KeyId added in v2.7.0

The id of kms key.

func (GetKeyVersionsVersionOutput) KeyVersionId added in v2.7.0

ID of the key version.

func (GetKeyVersionsVersionOutput) ToGetKeyVersionsVersionOutput added in v2.7.0

func (o GetKeyVersionsVersionOutput) ToGetKeyVersionsVersionOutput() GetKeyVersionsVersionOutput

func (GetKeyVersionsVersionOutput) ToGetKeyVersionsVersionOutputWithContext added in v2.7.0

func (o GetKeyVersionsVersionOutput) ToGetKeyVersionsVersionOutputWithContext(ctx context.Context) GetKeyVersionsVersionOutput

type GetKeysArgs

type GetKeysArgs struct {
	// A regex string to filter the results by the KMS key description.
	DescriptionRegex *string `pulumi:"descriptionRegex"`
	// A list of KMS key IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// Filter the results by status of the KMS keys. Valid values: `Enabled`, `Disabled`, `PendingDeletion`.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getKeys.

type GetKeysKey

type GetKeysKey struct {
	// The Alibaba Cloud Resource Name (ARN) of the key.
	Arn string `pulumi:"arn"`
	// Creation date of key.
	CreationDate string `pulumi:"creationDate"`
	// The owner of the key.
	Creator string `pulumi:"creator"`
	// Deletion date of key.
	DeleteDate string `pulumi:"deleteDate"`
	// Description of the key.
	Description string `pulumi:"description"`
	// ID of the key.
	Id string `pulumi:"id"`
	// Filter the results by status of the KMS keys. Valid values: `Enabled`, `Disabled`, `PendingDeletion`.
	Status string `pulumi:"status"`
}

type GetKeysKeyArgs

type GetKeysKeyArgs struct {
	// The Alibaba Cloud Resource Name (ARN) of the key.
	Arn pulumi.StringInput `pulumi:"arn"`
	// Creation date of key.
	CreationDate pulumi.StringInput `pulumi:"creationDate"`
	// The owner of the key.
	Creator pulumi.StringInput `pulumi:"creator"`
	// Deletion date of key.
	DeleteDate pulumi.StringInput `pulumi:"deleteDate"`
	// Description of the key.
	Description pulumi.StringInput `pulumi:"description"`
	// ID of the key.
	Id pulumi.StringInput `pulumi:"id"`
	// Filter the results by status of the KMS keys. Valid values: `Enabled`, `Disabled`, `PendingDeletion`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetKeysKeyArgs) ElementType

func (GetKeysKeyArgs) ElementType() reflect.Type

func (GetKeysKeyArgs) ToGetKeysKeyOutput

func (i GetKeysKeyArgs) ToGetKeysKeyOutput() GetKeysKeyOutput

func (GetKeysKeyArgs) ToGetKeysKeyOutputWithContext

func (i GetKeysKeyArgs) ToGetKeysKeyOutputWithContext(ctx context.Context) GetKeysKeyOutput

type GetKeysKeyArray

type GetKeysKeyArray []GetKeysKeyInput

func (GetKeysKeyArray) ElementType

func (GetKeysKeyArray) ElementType() reflect.Type

func (GetKeysKeyArray) ToGetKeysKeyArrayOutput

func (i GetKeysKeyArray) ToGetKeysKeyArrayOutput() GetKeysKeyArrayOutput

func (GetKeysKeyArray) ToGetKeysKeyArrayOutputWithContext

func (i GetKeysKeyArray) ToGetKeysKeyArrayOutputWithContext(ctx context.Context) GetKeysKeyArrayOutput

type GetKeysKeyArrayInput

type GetKeysKeyArrayInput interface {
	pulumi.Input

	ToGetKeysKeyArrayOutput() GetKeysKeyArrayOutput
	ToGetKeysKeyArrayOutputWithContext(context.Context) GetKeysKeyArrayOutput
}

GetKeysKeyArrayInput is an input type that accepts GetKeysKeyArray and GetKeysKeyArrayOutput values. You can construct a concrete instance of `GetKeysKeyArrayInput` via:

GetKeysKeyArray{ GetKeysKeyArgs{...} }

type GetKeysKeyArrayOutput

type GetKeysKeyArrayOutput struct{ *pulumi.OutputState }

func (GetKeysKeyArrayOutput) ElementType

func (GetKeysKeyArrayOutput) ElementType() reflect.Type

func (GetKeysKeyArrayOutput) Index

func (GetKeysKeyArrayOutput) ToGetKeysKeyArrayOutput

func (o GetKeysKeyArrayOutput) ToGetKeysKeyArrayOutput() GetKeysKeyArrayOutput

func (GetKeysKeyArrayOutput) ToGetKeysKeyArrayOutputWithContext

func (o GetKeysKeyArrayOutput) ToGetKeysKeyArrayOutputWithContext(ctx context.Context) GetKeysKeyArrayOutput

type GetKeysKeyInput

type GetKeysKeyInput interface {
	pulumi.Input

	ToGetKeysKeyOutput() GetKeysKeyOutput
	ToGetKeysKeyOutputWithContext(context.Context) GetKeysKeyOutput
}

GetKeysKeyInput is an input type that accepts GetKeysKeyArgs and GetKeysKeyOutput values. You can construct a concrete instance of `GetKeysKeyInput` via:

GetKeysKeyArgs{...}

type GetKeysKeyOutput

type GetKeysKeyOutput struct{ *pulumi.OutputState }

func (GetKeysKeyOutput) Arn

The Alibaba Cloud Resource Name (ARN) of the key.

func (GetKeysKeyOutput) CreationDate

func (o GetKeysKeyOutput) CreationDate() pulumi.StringOutput

Creation date of key.

func (GetKeysKeyOutput) Creator

func (o GetKeysKeyOutput) Creator() pulumi.StringOutput

The owner of the key.

func (GetKeysKeyOutput) DeleteDate

func (o GetKeysKeyOutput) DeleteDate() pulumi.StringOutput

Deletion date of key.

func (GetKeysKeyOutput) Description

func (o GetKeysKeyOutput) Description() pulumi.StringOutput

Description of the key.

func (GetKeysKeyOutput) ElementType

func (GetKeysKeyOutput) ElementType() reflect.Type

func (GetKeysKeyOutput) Id

ID of the key.

func (GetKeysKeyOutput) Status

Filter the results by status of the KMS keys. Valid values: `Enabled`, `Disabled`, `PendingDeletion`.

func (GetKeysKeyOutput) ToGetKeysKeyOutput

func (o GetKeysKeyOutput) ToGetKeysKeyOutput() GetKeysKeyOutput

func (GetKeysKeyOutput) ToGetKeysKeyOutputWithContext

func (o GetKeysKeyOutput) ToGetKeysKeyOutputWithContext(ctx context.Context) GetKeysKeyOutput

type GetKeysResult

type GetKeysResult struct {
	DescriptionRegex *string `pulumi:"descriptionRegex"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of KMS key IDs.
	Ids []string `pulumi:"ids"`
	// A list of KMS keys. Each element contains the following attributes:
	Keys       []GetKeysKey `pulumi:"keys"`
	OutputFile *string      `pulumi:"outputFile"`
	// Status of the key. Possible values: `Enabled`, `Disabled` and `PendingDeletion`.
	Status *string `pulumi:"status"`
}

A collection of values returned by getKeys.

func GetKeys

func GetKeys(ctx *pulumi.Context, args *GetKeysArgs, opts ...pulumi.InvokeOption) (*GetKeysResult, error)

This data source provides a list of KMS keys in an Alibaba Cloud account according to the specified filters.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kms"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "Hello KMS"
		opt1 := "kms_keys.json"
		kmsKeysDs, err := kms.GetKeys(ctx, &kms.GetKeysArgs{
			DescriptionRegex: &opt0,
			OutputFile:       &opt1,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstKeyId", kmsKeysDs.Keys[0].Id)
		return nil
	})
}

```

type GetPlaintextArgs

type GetPlaintextArgs struct {
	// The ciphertext to be decrypted.
	CiphertextBlob string `pulumi:"ciphertextBlob"`
	// -
	// (Optional) The Encryption context. If you specify this parameter in the Encrypt or GenerateDataKey API operation, it is also required when you call the Decrypt API operation. For more information, see [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm).
	EncryptionContext map[string]string `pulumi:"encryptionContext"`
}

A collection of arguments for invoking getPlaintext.

type GetPlaintextResult

type GetPlaintextResult struct {
	CiphertextBlob    string            `pulumi:"ciphertextBlob"`
	EncryptionContext map[string]string `pulumi:"encryptionContext"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The globally unique ID of the CMK. It is the ID of the CMK used to decrypt ciphertext.
	KeyId string `pulumi:"keyId"`
	// The decrypted plaintext.
	Plaintext string `pulumi:"plaintext"`
}

A collection of values returned by getPlaintext.

func GetPlaintext

func GetPlaintext(ctx *pulumi.Context, args *GetPlaintextArgs, opts ...pulumi.InvokeOption) (*GetPlaintextResult, error)

type GetSecretVersionsArgs added in v2.10.0

type GetSecretVersionsArgs struct {
	// Default to false and only output `secretName`, `versionId`, `versionStages`. Set it to true can output more details.
	EnableDetails *bool `pulumi:"enableDetails"`
	// A list of KMS Secret Version ids.
	Ids []string `pulumi:"ids"`
	// Specifies whether to return deprecated secret versions. Default to `false`.
	IncludeDeprecated *string `pulumi:"includeDeprecated"`
	OutputFile        *string `pulumi:"outputFile"`
	// The name of the secret.
	SecretName string `pulumi:"secretName"`
	// The stage of the secret version.
	VersionStage *string `pulumi:"versionStage"`
}

A collection of arguments for invoking getSecretVersions.

type GetSecretVersionsResult added in v2.10.0

type GetSecretVersionsResult struct {
	EnableDetails *bool `pulumi:"enableDetails"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of Kms Secret Version ids.
	Ids               []string `pulumi:"ids"`
	IncludeDeprecated *string  `pulumi:"includeDeprecated"`
	OutputFile        *string  `pulumi:"outputFile"`
	// The name of the secret.
	SecretName   string  `pulumi:"secretName"`
	VersionStage *string `pulumi:"versionStage"`
	// A list of KMS Secret Versions. Each element contains the following attributes:
	Versions []GetSecretVersionsVersion `pulumi:"versions"`
}

A collection of values returned by getSecretVersions.

func GetSecretVersions added in v2.10.0

func GetSecretVersions(ctx *pulumi.Context, args *GetSecretVersionsArgs, opts ...pulumi.InvokeOption) (*GetSecretVersionsResult, error)

This data source provides a list of KMS Secret Versions in an Alibaba Cloud account according to the specified filters.

> **NOTE:** Available in v1.88.0+.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kms"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := true
		kmsSecretVersionsDs, err := kms.GetSecretVersions(ctx, &kms.GetSecretVersionsArgs{
			EnableDetails: &opt0,
			SecretName:    "secret_name",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstSecretData", kmsSecretVersionsDs.Versions[0].SecretData)
		return nil
	})
}

```

type GetSecretVersionsVersion added in v2.10.0

type GetSecretVersionsVersion struct {
	// The secret value. Secrets Manager decrypts the stored secret value in ciphertext and returns it. (Returned when `enableDetails` is true).
	SecretData string `pulumi:"secretData"`
	// The type of the secret value. (Returned when `enableDetails` is true).
	SecretDataType string `pulumi:"secretDataType"`
	// The name of the secret.
	SecretName string `pulumi:"secretName"`
	// The version number of the secret value.
	VersionId string `pulumi:"versionId"`
	// Stage labels that mark the secret version.
	VersionStages []string `pulumi:"versionStages"`
}

type GetSecretVersionsVersionArgs added in v2.10.0

type GetSecretVersionsVersionArgs struct {
	// The secret value. Secrets Manager decrypts the stored secret value in ciphertext and returns it. (Returned when `enableDetails` is true).
	SecretData pulumi.StringInput `pulumi:"secretData"`
	// The type of the secret value. (Returned when `enableDetails` is true).
	SecretDataType pulumi.StringInput `pulumi:"secretDataType"`
	// The name of the secret.
	SecretName pulumi.StringInput `pulumi:"secretName"`
	// The version number of the secret value.
	VersionId pulumi.StringInput `pulumi:"versionId"`
	// Stage labels that mark the secret version.
	VersionStages pulumi.StringArrayInput `pulumi:"versionStages"`
}

func (GetSecretVersionsVersionArgs) ElementType added in v2.10.0

func (GetSecretVersionsVersionArgs) ToGetSecretVersionsVersionOutput added in v2.10.0

func (i GetSecretVersionsVersionArgs) ToGetSecretVersionsVersionOutput() GetSecretVersionsVersionOutput

func (GetSecretVersionsVersionArgs) ToGetSecretVersionsVersionOutputWithContext added in v2.10.0

func (i GetSecretVersionsVersionArgs) ToGetSecretVersionsVersionOutputWithContext(ctx context.Context) GetSecretVersionsVersionOutput

type GetSecretVersionsVersionArray added in v2.10.0

type GetSecretVersionsVersionArray []GetSecretVersionsVersionInput

func (GetSecretVersionsVersionArray) ElementType added in v2.10.0

func (GetSecretVersionsVersionArray) ToGetSecretVersionsVersionArrayOutput added in v2.10.0

func (i GetSecretVersionsVersionArray) ToGetSecretVersionsVersionArrayOutput() GetSecretVersionsVersionArrayOutput

func (GetSecretVersionsVersionArray) ToGetSecretVersionsVersionArrayOutputWithContext added in v2.10.0

func (i GetSecretVersionsVersionArray) ToGetSecretVersionsVersionArrayOutputWithContext(ctx context.Context) GetSecretVersionsVersionArrayOutput

type GetSecretVersionsVersionArrayInput added in v2.10.0

type GetSecretVersionsVersionArrayInput interface {
	pulumi.Input

	ToGetSecretVersionsVersionArrayOutput() GetSecretVersionsVersionArrayOutput
	ToGetSecretVersionsVersionArrayOutputWithContext(context.Context) GetSecretVersionsVersionArrayOutput
}

GetSecretVersionsVersionArrayInput is an input type that accepts GetSecretVersionsVersionArray and GetSecretVersionsVersionArrayOutput values. You can construct a concrete instance of `GetSecretVersionsVersionArrayInput` via:

GetSecretVersionsVersionArray{ GetSecretVersionsVersionArgs{...} }

type GetSecretVersionsVersionArrayOutput added in v2.10.0

type GetSecretVersionsVersionArrayOutput struct{ *pulumi.OutputState }

func (GetSecretVersionsVersionArrayOutput) ElementType added in v2.10.0

func (GetSecretVersionsVersionArrayOutput) Index added in v2.10.0

func (GetSecretVersionsVersionArrayOutput) ToGetSecretVersionsVersionArrayOutput added in v2.10.0

func (o GetSecretVersionsVersionArrayOutput) ToGetSecretVersionsVersionArrayOutput() GetSecretVersionsVersionArrayOutput

func (GetSecretVersionsVersionArrayOutput) ToGetSecretVersionsVersionArrayOutputWithContext added in v2.10.0

func (o GetSecretVersionsVersionArrayOutput) ToGetSecretVersionsVersionArrayOutputWithContext(ctx context.Context) GetSecretVersionsVersionArrayOutput

type GetSecretVersionsVersionInput added in v2.10.0

type GetSecretVersionsVersionInput interface {
	pulumi.Input

	ToGetSecretVersionsVersionOutput() GetSecretVersionsVersionOutput
	ToGetSecretVersionsVersionOutputWithContext(context.Context) GetSecretVersionsVersionOutput
}

GetSecretVersionsVersionInput is an input type that accepts GetSecretVersionsVersionArgs and GetSecretVersionsVersionOutput values. You can construct a concrete instance of `GetSecretVersionsVersionInput` via:

GetSecretVersionsVersionArgs{...}

type GetSecretVersionsVersionOutput added in v2.10.0

type GetSecretVersionsVersionOutput struct{ *pulumi.OutputState }

func (GetSecretVersionsVersionOutput) ElementType added in v2.10.0

func (GetSecretVersionsVersionOutput) SecretData added in v2.10.0

The secret value. Secrets Manager decrypts the stored secret value in ciphertext and returns it. (Returned when `enableDetails` is true).

func (GetSecretVersionsVersionOutput) SecretDataType added in v2.10.0

The type of the secret value. (Returned when `enableDetails` is true).

func (GetSecretVersionsVersionOutput) SecretName added in v2.10.0

The name of the secret.

func (GetSecretVersionsVersionOutput) ToGetSecretVersionsVersionOutput added in v2.10.0

func (o GetSecretVersionsVersionOutput) ToGetSecretVersionsVersionOutput() GetSecretVersionsVersionOutput

func (GetSecretVersionsVersionOutput) ToGetSecretVersionsVersionOutputWithContext added in v2.10.0

func (o GetSecretVersionsVersionOutput) ToGetSecretVersionsVersionOutputWithContext(ctx context.Context) GetSecretVersionsVersionOutput

func (GetSecretVersionsVersionOutput) VersionId added in v2.10.0

The version number of the secret value.

func (GetSecretVersionsVersionOutput) VersionStages added in v2.10.0

Stage labels that mark the secret version.

type GetSecretsArgs added in v2.8.0

type GetSecretsArgs struct {
	// Whether to include the predetermined resource tag in the return value. Default to `false`.
	FetchTags *bool `pulumi:"fetchTags"`
	// A list of KMS Secret ids. The value is same as KMS secret_name.
	Ids []string `pulumi:"ids"`
	// A regex string to filter the results by the KMS secret_name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getSecrets.

type GetSecretsResult added in v2.8.0

type GetSecretsResult struct {
	FetchTags *bool `pulumi:"fetchTags"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of Kms Secret ids. The value is same as KMS secret_name.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of KMS Secret names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// A list of KMS Secrets. Each element contains the following attributes:
	Secrets []GetSecretsSecret `pulumi:"secrets"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of values returned by getSecrets.

func GetSecrets added in v2.8.0

func GetSecrets(ctx *pulumi.Context, args *GetSecretsArgs, opts ...pulumi.InvokeOption) (*GetSecretsResult, error)

This data source provides a list of KMS Secrets in an Alibaba Cloud account according to the specified filters.

> **NOTE:** Available in v1.86.0+.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kms"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := true
		opt1 := "name_regex"
		kmsSecretsDs, err := kms.GetSecrets(ctx, &kms.GetSecretsArgs{
			FetchTags: &opt0,
			NameRegex: &opt1,
			Tags: map[string]interface{}{
				"k-aa": "v-aa",
				"k-bb": "v-bb",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstSecretId", kmsSecretsDs.Secrets[0].Id)
		return nil
	})
}

```

type GetSecretsSecret added in v2.8.0

type GetSecretsSecret struct {
	// ID of the Kms Secret. The value is same as KMS secret_name.
	Id string `pulumi:"id"`
	// Schedule deletion time.
	PlannedDeleteTime string `pulumi:"plannedDeleteTime"`
	// Name of the KMS Secret.
	SecretName string `pulumi:"secretName"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

type GetSecretsSecretArgs added in v2.8.0

type GetSecretsSecretArgs struct {
	// ID of the Kms Secret. The value is same as KMS secret_name.
	Id pulumi.StringInput `pulumi:"id"`
	// Schedule deletion time.
	PlannedDeleteTime pulumi.StringInput `pulumi:"plannedDeleteTime"`
	// Name of the KMS Secret.
	SecretName pulumi.StringInput `pulumi:"secretName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
}

func (GetSecretsSecretArgs) ElementType added in v2.8.0

func (GetSecretsSecretArgs) ElementType() reflect.Type

func (GetSecretsSecretArgs) ToGetSecretsSecretOutput added in v2.8.0

func (i GetSecretsSecretArgs) ToGetSecretsSecretOutput() GetSecretsSecretOutput

func (GetSecretsSecretArgs) ToGetSecretsSecretOutputWithContext added in v2.8.0

func (i GetSecretsSecretArgs) ToGetSecretsSecretOutputWithContext(ctx context.Context) GetSecretsSecretOutput

type GetSecretsSecretArray added in v2.8.0

type GetSecretsSecretArray []GetSecretsSecretInput

func (GetSecretsSecretArray) ElementType added in v2.8.0

func (GetSecretsSecretArray) ElementType() reflect.Type

func (GetSecretsSecretArray) ToGetSecretsSecretArrayOutput added in v2.8.0

func (i GetSecretsSecretArray) ToGetSecretsSecretArrayOutput() GetSecretsSecretArrayOutput

func (GetSecretsSecretArray) ToGetSecretsSecretArrayOutputWithContext added in v2.8.0

func (i GetSecretsSecretArray) ToGetSecretsSecretArrayOutputWithContext(ctx context.Context) GetSecretsSecretArrayOutput

type GetSecretsSecretArrayInput added in v2.8.0

type GetSecretsSecretArrayInput interface {
	pulumi.Input

	ToGetSecretsSecretArrayOutput() GetSecretsSecretArrayOutput
	ToGetSecretsSecretArrayOutputWithContext(context.Context) GetSecretsSecretArrayOutput
}

GetSecretsSecretArrayInput is an input type that accepts GetSecretsSecretArray and GetSecretsSecretArrayOutput values. You can construct a concrete instance of `GetSecretsSecretArrayInput` via:

GetSecretsSecretArray{ GetSecretsSecretArgs{...} }

type GetSecretsSecretArrayOutput added in v2.8.0

type GetSecretsSecretArrayOutput struct{ *pulumi.OutputState }

func (GetSecretsSecretArrayOutput) ElementType added in v2.8.0

func (GetSecretsSecretArrayOutput) Index added in v2.8.0

func (GetSecretsSecretArrayOutput) ToGetSecretsSecretArrayOutput added in v2.8.0

func (o GetSecretsSecretArrayOutput) ToGetSecretsSecretArrayOutput() GetSecretsSecretArrayOutput

func (GetSecretsSecretArrayOutput) ToGetSecretsSecretArrayOutputWithContext added in v2.8.0

func (o GetSecretsSecretArrayOutput) ToGetSecretsSecretArrayOutputWithContext(ctx context.Context) GetSecretsSecretArrayOutput

type GetSecretsSecretInput added in v2.8.0

type GetSecretsSecretInput interface {
	pulumi.Input

	ToGetSecretsSecretOutput() GetSecretsSecretOutput
	ToGetSecretsSecretOutputWithContext(context.Context) GetSecretsSecretOutput
}

GetSecretsSecretInput is an input type that accepts GetSecretsSecretArgs and GetSecretsSecretOutput values. You can construct a concrete instance of `GetSecretsSecretInput` via:

GetSecretsSecretArgs{...}

type GetSecretsSecretOutput added in v2.8.0

type GetSecretsSecretOutput struct{ *pulumi.OutputState }

func (GetSecretsSecretOutput) ElementType added in v2.8.0

func (GetSecretsSecretOutput) ElementType() reflect.Type

func (GetSecretsSecretOutput) Id added in v2.8.0

ID of the Kms Secret. The value is same as KMS secret_name.

func (GetSecretsSecretOutput) PlannedDeleteTime added in v2.8.0

func (o GetSecretsSecretOutput) PlannedDeleteTime() pulumi.StringOutput

Schedule deletion time.

func (GetSecretsSecretOutput) SecretName added in v2.8.0

Name of the KMS Secret.

func (GetSecretsSecretOutput) Tags added in v2.8.0

A mapping of tags to assign to the resource.

func (GetSecretsSecretOutput) ToGetSecretsSecretOutput added in v2.8.0

func (o GetSecretsSecretOutput) ToGetSecretsSecretOutput() GetSecretsSecretOutput

func (GetSecretsSecretOutput) ToGetSecretsSecretOutputWithContext added in v2.8.0

func (o GetSecretsSecretOutput) ToGetSecretsSecretOutputWithContext(ctx context.Context) GetSecretsSecretOutput

type GetServiceArgs added in v2.28.0

type GetServiceArgs struct {
	// Setting the value to `On` to enable the service. If has been enabled, return the result. Valid values: "On" or "Off". Default to "Off".
	Enable *string `pulumi:"enable"`
}

A collection of arguments for invoking getService.

type GetServiceResult added in v2.28.0

type GetServiceResult struct {
	Enable *string `pulumi:"enable"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The current service enable status.
	Status string `pulumi:"status"`
}

A collection of values returned by getService.

func GetService added in v2.28.0

func GetService(ctx *pulumi.Context, args *GetServiceArgs, opts ...pulumi.InvokeOption) (*GetServiceResult, error)

Using this data source can open KMS service automatically. If the service has been opened, it will return opened.

For information about KMS and how to use it, see [What is KMS](https://help.aliyun.com/document_detail/186020.html).

> **NOTE:** Available in v1.108.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kms"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "On"
		_, err := kms.GetService(ctx, &kms.GetServiceArgs{
			Enable: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type Key

type Key struct {
	pulumi.CustomResourceState

	// The Alicloud Resource Name (ARN) of the key.
	// * `creationDate` -The date and time when the CMK was created. The time is displayed in UTC.
	// * `creator` -The creator of the CMK.
	// * `deleteDate` -The scheduled date to delete CMK. The time is displayed in UTC. This value is returned only when the KeyState value is PendingDeletion.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Specifies whether to enable automatic key rotation. Default:"Disabled".
	AutomaticRotation pulumi.StringPtrOutput `pulumi:"automaticRotation"`
	CreationDate      pulumi.StringOutput    `pulumi:"creationDate"`
	Creator           pulumi.StringOutput    `pulumi:"creator"`
	DeleteDate        pulumi.StringOutput    `pulumi:"deleteDate"`
	// Field 'deletion_window_in_days' has been deprecated from provider version 1.85.0. New field 'pending_window_in_days' instead.
	//
	// Deprecated: Field 'deletion_window_in_days' has been deprecated from provider version 1.85.0. New field 'pending_window_in_days' instead.
	DeletionWindowInDays pulumi.IntPtrOutput `pulumi:"deletionWindowInDays"`
	// The description of the key as viewed in Alicloud console.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Field 'is_enabled' has been deprecated from provider version 1.85.0. New field 'key_state' instead.
	//
	// Deprecated: Field 'is_enabled' has been deprecated from provider version 1.85.0. New field 'key_state' instead.
	IsEnabled pulumi.BoolPtrOutput `pulumi:"isEnabled"`
	// The type of the CMK.
	KeySpec pulumi.StringOutput `pulumi:"keySpec"`
	// The status of CMK. Defaults to Enabled.
	KeyState pulumi.StringPtrOutput `pulumi:"keyState"`
	// Specifies the usage of CMK. Currently, default to 'ENCRYPT/DECRYPT', indicating that CMK is used for encryption and decryption.
	KeyUsage pulumi.StringPtrOutput `pulumi:"keyUsage"`
	// The date and time the last rotation was performed. The time is displayed in UTC.
	LastRotationDate pulumi.StringOutput `pulumi:"lastRotationDate"`
	// The time and date the key material for the CMK expires. The time is displayed in UTC. If the value is empty, the key material for the CMK does not expire.
	MaterialExpireTime pulumi.StringOutput `pulumi:"materialExpireTime"`
	// The time the next rotation is scheduled for execution.
	NextRotationDate pulumi.StringOutput `pulumi:"nextRotationDate"`
	// The source of the key material for the CMK. Defaults to "Aliyun_KMS".
	Origin pulumi.StringPtrOutput `pulumi:"origin"`
	// Duration in days after which the key is deleted after destruction of the resource, must be between 7 and 30 days. Defaults to 30 days.
	PendingWindowInDays pulumi.IntPtrOutput `pulumi:"pendingWindowInDays"`
	// The ID of the current primary key version of the symmetric CMK.
	PrimaryKeyVersion pulumi.StringOutput `pulumi:"primaryKeyVersion"`
	// The protection level of the CMK. Defaults to "SOFTWARE".
	ProtectionLevel pulumi.StringPtrOutput `pulumi:"protectionLevel"`
	// The period of automatic key rotation. Unit: seconds.
	RotationInterval pulumi.StringPtrOutput `pulumi:"rotationInterval"`
}

A kms key can help user to protect data security in the transmission process. For information about Alikms Key and how to use it, see [What is Resource Alikms Key](https://www.alibabacloud.com/help/doc-detail/28947.htm).

> **NOTE:** Available in v1.85.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kms"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := kms.NewKey(ctx, "key", &kms.KeyArgs{
			Description:         pulumi.String("Hello KMS"),
			KeyState:            pulumi.String("Enabled"),
			PendingWindowInDays: pulumi.Int(7),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Alikms key can be imported using the id, e.g.

```sh

$ pulumi import alicloud:kms/key:Key example abc123456

```

func GetKey

func GetKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *KeyState, opts ...pulumi.ResourceOption) (*Key, error)

GetKey gets an existing Key resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewKey

func NewKey(ctx *pulumi.Context,
	name string, args *KeyArgs, opts ...pulumi.ResourceOption) (*Key, error)

NewKey registers a new resource with the given unique name, arguments, and options.

func (*Key) ElementType added in v2.25.1

func (*Key) ElementType() reflect.Type

func (*Key) ToKeyOutput added in v2.25.1

func (i *Key) ToKeyOutput() KeyOutput

func (*Key) ToKeyOutputWithContext added in v2.25.1

func (i *Key) ToKeyOutputWithContext(ctx context.Context) KeyOutput

func (*Key) ToKeyPtrOutput added in v2.35.1

func (i *Key) ToKeyPtrOutput() KeyPtrOutput

func (*Key) ToKeyPtrOutputWithContext added in v2.35.1

func (i *Key) ToKeyPtrOutputWithContext(ctx context.Context) KeyPtrOutput

type KeyArgs

type KeyArgs struct {
	// Specifies whether to enable automatic key rotation. Default:"Disabled".
	AutomaticRotation pulumi.StringPtrInput
	// Field 'deletion_window_in_days' has been deprecated from provider version 1.85.0. New field 'pending_window_in_days' instead.
	//
	// Deprecated: Field 'deletion_window_in_days' has been deprecated from provider version 1.85.0. New field 'pending_window_in_days' instead.
	DeletionWindowInDays pulumi.IntPtrInput
	// The description of the key as viewed in Alicloud console.
	Description pulumi.StringPtrInput
	// Field 'is_enabled' has been deprecated from provider version 1.85.0. New field 'key_state' instead.
	//
	// Deprecated: Field 'is_enabled' has been deprecated from provider version 1.85.0. New field 'key_state' instead.
	IsEnabled pulumi.BoolPtrInput
	// The type of the CMK.
	KeySpec pulumi.StringPtrInput
	// The status of CMK. Defaults to Enabled.
	KeyState pulumi.StringPtrInput
	// Specifies the usage of CMK. Currently, default to 'ENCRYPT/DECRYPT', indicating that CMK is used for encryption and decryption.
	KeyUsage pulumi.StringPtrInput
	// The source of the key material for the CMK. Defaults to "Aliyun_KMS".
	Origin pulumi.StringPtrInput
	// Duration in days after which the key is deleted after destruction of the resource, must be between 7 and 30 days. Defaults to 30 days.
	PendingWindowInDays pulumi.IntPtrInput
	// The protection level of the CMK. Defaults to "SOFTWARE".
	ProtectionLevel pulumi.StringPtrInput
	// The period of automatic key rotation. Unit: seconds.
	RotationInterval pulumi.StringPtrInput
}

The set of arguments for constructing a Key resource.

func (KeyArgs) ElementType

func (KeyArgs) ElementType() reflect.Type

type KeyArray added in v2.35.1

type KeyArray []KeyInput

func (KeyArray) ElementType added in v2.35.1

func (KeyArray) ElementType() reflect.Type

func (KeyArray) ToKeyArrayOutput added in v2.35.1

func (i KeyArray) ToKeyArrayOutput() KeyArrayOutput

func (KeyArray) ToKeyArrayOutputWithContext added in v2.35.1

func (i KeyArray) ToKeyArrayOutputWithContext(ctx context.Context) KeyArrayOutput

type KeyArrayInput added in v2.35.1

type KeyArrayInput interface {
	pulumi.Input

	ToKeyArrayOutput() KeyArrayOutput
	ToKeyArrayOutputWithContext(context.Context) KeyArrayOutput
}

KeyArrayInput is an input type that accepts KeyArray and KeyArrayOutput values. You can construct a concrete instance of `KeyArrayInput` via:

KeyArray{ KeyArgs{...} }

type KeyArrayOutput added in v2.35.1

type KeyArrayOutput struct{ *pulumi.OutputState }

func (KeyArrayOutput) ElementType added in v2.35.1

func (KeyArrayOutput) ElementType() reflect.Type

func (KeyArrayOutput) Index added in v2.35.1

func (KeyArrayOutput) ToKeyArrayOutput added in v2.35.1

func (o KeyArrayOutput) ToKeyArrayOutput() KeyArrayOutput

func (KeyArrayOutput) ToKeyArrayOutputWithContext added in v2.35.1

func (o KeyArrayOutput) ToKeyArrayOutputWithContext(ctx context.Context) KeyArrayOutput

type KeyInput added in v2.25.1

type KeyInput interface {
	pulumi.Input

	ToKeyOutput() KeyOutput
	ToKeyOutputWithContext(ctx context.Context) KeyOutput
}

type KeyMap added in v2.35.1

type KeyMap map[string]KeyInput

func (KeyMap) ElementType added in v2.35.1

func (KeyMap) ElementType() reflect.Type

func (KeyMap) ToKeyMapOutput added in v2.35.1

func (i KeyMap) ToKeyMapOutput() KeyMapOutput

func (KeyMap) ToKeyMapOutputWithContext added in v2.35.1

func (i KeyMap) ToKeyMapOutputWithContext(ctx context.Context) KeyMapOutput

type KeyMapInput added in v2.35.1

type KeyMapInput interface {
	pulumi.Input

	ToKeyMapOutput() KeyMapOutput
	ToKeyMapOutputWithContext(context.Context) KeyMapOutput
}

KeyMapInput is an input type that accepts KeyMap and KeyMapOutput values. You can construct a concrete instance of `KeyMapInput` via:

KeyMap{ "key": KeyArgs{...} }

type KeyMapOutput added in v2.35.1

type KeyMapOutput struct{ *pulumi.OutputState }

func (KeyMapOutput) ElementType added in v2.35.1

func (KeyMapOutput) ElementType() reflect.Type

func (KeyMapOutput) MapIndex added in v2.35.1

func (o KeyMapOutput) MapIndex(k pulumi.StringInput) KeyOutput

func (KeyMapOutput) ToKeyMapOutput added in v2.35.1

func (o KeyMapOutput) ToKeyMapOutput() KeyMapOutput

func (KeyMapOutput) ToKeyMapOutputWithContext added in v2.35.1

func (o KeyMapOutput) ToKeyMapOutputWithContext(ctx context.Context) KeyMapOutput

type KeyOutput added in v2.25.1

type KeyOutput struct {
	*pulumi.OutputState
}

func (KeyOutput) ElementType added in v2.25.1

func (KeyOutput) ElementType() reflect.Type

func (KeyOutput) ToKeyOutput added in v2.25.1

func (o KeyOutput) ToKeyOutput() KeyOutput

func (KeyOutput) ToKeyOutputWithContext added in v2.25.1

func (o KeyOutput) ToKeyOutputWithContext(ctx context.Context) KeyOutput

func (KeyOutput) ToKeyPtrOutput added in v2.35.1

func (o KeyOutput) ToKeyPtrOutput() KeyPtrOutput

func (KeyOutput) ToKeyPtrOutputWithContext added in v2.35.1

func (o KeyOutput) ToKeyPtrOutputWithContext(ctx context.Context) KeyPtrOutput

type KeyPtrInput added in v2.35.1

type KeyPtrInput interface {
	pulumi.Input

	ToKeyPtrOutput() KeyPtrOutput
	ToKeyPtrOutputWithContext(ctx context.Context) KeyPtrOutput
}

type KeyPtrOutput added in v2.35.1

type KeyPtrOutput struct {
	*pulumi.OutputState
}

func (KeyPtrOutput) ElementType added in v2.35.1

func (KeyPtrOutput) ElementType() reflect.Type

func (KeyPtrOutput) ToKeyPtrOutput added in v2.35.1

func (o KeyPtrOutput) ToKeyPtrOutput() KeyPtrOutput

func (KeyPtrOutput) ToKeyPtrOutputWithContext added in v2.35.1

func (o KeyPtrOutput) ToKeyPtrOutputWithContext(ctx context.Context) KeyPtrOutput

type KeyState

type KeyState struct {
	// The Alicloud Resource Name (ARN) of the key.
	// * `creationDate` -The date and time when the CMK was created. The time is displayed in UTC.
	// * `creator` -The creator of the CMK.
	// * `deleteDate` -The scheduled date to delete CMK. The time is displayed in UTC. This value is returned only when the KeyState value is PendingDeletion.
	Arn pulumi.StringPtrInput
	// Specifies whether to enable automatic key rotation. Default:"Disabled".
	AutomaticRotation pulumi.StringPtrInput
	CreationDate      pulumi.StringPtrInput
	Creator           pulumi.StringPtrInput
	DeleteDate        pulumi.StringPtrInput
	// Field 'deletion_window_in_days' has been deprecated from provider version 1.85.0. New field 'pending_window_in_days' instead.
	//
	// Deprecated: Field 'deletion_window_in_days' has been deprecated from provider version 1.85.0. New field 'pending_window_in_days' instead.
	DeletionWindowInDays pulumi.IntPtrInput
	// The description of the key as viewed in Alicloud console.
	Description pulumi.StringPtrInput
	// Field 'is_enabled' has been deprecated from provider version 1.85.0. New field 'key_state' instead.
	//
	// Deprecated: Field 'is_enabled' has been deprecated from provider version 1.85.0. New field 'key_state' instead.
	IsEnabled pulumi.BoolPtrInput
	// The type of the CMK.
	KeySpec pulumi.StringPtrInput
	// The status of CMK. Defaults to Enabled.
	KeyState pulumi.StringPtrInput
	// Specifies the usage of CMK. Currently, default to 'ENCRYPT/DECRYPT', indicating that CMK is used for encryption and decryption.
	KeyUsage pulumi.StringPtrInput
	// The date and time the last rotation was performed. The time is displayed in UTC.
	LastRotationDate pulumi.StringPtrInput
	// The time and date the key material for the CMK expires. The time is displayed in UTC. If the value is empty, the key material for the CMK does not expire.
	MaterialExpireTime pulumi.StringPtrInput
	// The time the next rotation is scheduled for execution.
	NextRotationDate pulumi.StringPtrInput
	// The source of the key material for the CMK. Defaults to "Aliyun_KMS".
	Origin pulumi.StringPtrInput
	// Duration in days after which the key is deleted after destruction of the resource, must be between 7 and 30 days. Defaults to 30 days.
	PendingWindowInDays pulumi.IntPtrInput
	// The ID of the current primary key version of the symmetric CMK.
	PrimaryKeyVersion pulumi.StringPtrInput
	// The protection level of the CMK. Defaults to "SOFTWARE".
	ProtectionLevel pulumi.StringPtrInput
	// The period of automatic key rotation. Unit: seconds.
	RotationInterval pulumi.StringPtrInput
}

func (KeyState) ElementType

func (KeyState) ElementType() reflect.Type

type KeyVersion added in v2.7.0

type KeyVersion struct {
	pulumi.CustomResourceState

	// The date and time (UTC time) when the Alikms key version was created.
	CreationDate pulumi.StringOutput `pulumi:"creationDate"`
	// The id of the master key (CMK).
	KeyId pulumi.StringOutput `pulumi:"keyId"`
	// The id of the Alikms key version.
	KeyVersionId pulumi.StringOutput `pulumi:"keyVersionId"`
}

Provides a Alikms Key Version resource. For information about Alikms Key Version and how to use it, see [What is Resource Alikms Key Version](https://www.alibabacloud.com/help/doc-detail/133838.htm).

> **NOTE:** Available in v1.85.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kms"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		this, err := kms.NewKey(ctx, "this", nil)
		if err != nil {
			return err
		}
		_, err = kms.NewKeyVersion(ctx, "keyversion", &kms.KeyVersionArgs{
			KeyId: this.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Alikms key version can be imported using the id, e.g.

```sh

$ pulumi import alicloud:kms/keyVersion:KeyVersion example 72da539a-2fa8-4f2d-b854-*****

```

func GetKeyVersion added in v2.7.0

func GetKeyVersion(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *KeyVersionState, opts ...pulumi.ResourceOption) (*KeyVersion, error)

GetKeyVersion gets an existing KeyVersion resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewKeyVersion added in v2.7.0

func NewKeyVersion(ctx *pulumi.Context,
	name string, args *KeyVersionArgs, opts ...pulumi.ResourceOption) (*KeyVersion, error)

NewKeyVersion registers a new resource with the given unique name, arguments, and options.

func (*KeyVersion) ElementType added in v2.25.1

func (*KeyVersion) ElementType() reflect.Type

func (*KeyVersion) ToKeyVersionOutput added in v2.25.1

func (i *KeyVersion) ToKeyVersionOutput() KeyVersionOutput

func (*KeyVersion) ToKeyVersionOutputWithContext added in v2.25.1

func (i *KeyVersion) ToKeyVersionOutputWithContext(ctx context.Context) KeyVersionOutput

func (*KeyVersion) ToKeyVersionPtrOutput added in v2.35.1

func (i *KeyVersion) ToKeyVersionPtrOutput() KeyVersionPtrOutput

func (*KeyVersion) ToKeyVersionPtrOutputWithContext added in v2.35.1

func (i *KeyVersion) ToKeyVersionPtrOutputWithContext(ctx context.Context) KeyVersionPtrOutput

type KeyVersionArgs added in v2.7.0

type KeyVersionArgs struct {
	// The id of the master key (CMK).
	KeyId pulumi.StringInput
}

The set of arguments for constructing a KeyVersion resource.

func (KeyVersionArgs) ElementType added in v2.7.0

func (KeyVersionArgs) ElementType() reflect.Type

type KeyVersionArray added in v2.35.1

type KeyVersionArray []KeyVersionInput

func (KeyVersionArray) ElementType added in v2.35.1

func (KeyVersionArray) ElementType() reflect.Type

func (KeyVersionArray) ToKeyVersionArrayOutput added in v2.35.1

func (i KeyVersionArray) ToKeyVersionArrayOutput() KeyVersionArrayOutput

func (KeyVersionArray) ToKeyVersionArrayOutputWithContext added in v2.35.1

func (i KeyVersionArray) ToKeyVersionArrayOutputWithContext(ctx context.Context) KeyVersionArrayOutput

type KeyVersionArrayInput added in v2.35.1

type KeyVersionArrayInput interface {
	pulumi.Input

	ToKeyVersionArrayOutput() KeyVersionArrayOutput
	ToKeyVersionArrayOutputWithContext(context.Context) KeyVersionArrayOutput
}

KeyVersionArrayInput is an input type that accepts KeyVersionArray and KeyVersionArrayOutput values. You can construct a concrete instance of `KeyVersionArrayInput` via:

KeyVersionArray{ KeyVersionArgs{...} }

type KeyVersionArrayOutput added in v2.35.1

type KeyVersionArrayOutput struct{ *pulumi.OutputState }

func (KeyVersionArrayOutput) ElementType added in v2.35.1

func (KeyVersionArrayOutput) ElementType() reflect.Type

func (KeyVersionArrayOutput) Index added in v2.35.1

func (KeyVersionArrayOutput) ToKeyVersionArrayOutput added in v2.35.1

func (o KeyVersionArrayOutput) ToKeyVersionArrayOutput() KeyVersionArrayOutput

func (KeyVersionArrayOutput) ToKeyVersionArrayOutputWithContext added in v2.35.1

func (o KeyVersionArrayOutput) ToKeyVersionArrayOutputWithContext(ctx context.Context) KeyVersionArrayOutput

type KeyVersionInput added in v2.25.1

type KeyVersionInput interface {
	pulumi.Input

	ToKeyVersionOutput() KeyVersionOutput
	ToKeyVersionOutputWithContext(ctx context.Context) KeyVersionOutput
}

type KeyVersionMap added in v2.35.1

type KeyVersionMap map[string]KeyVersionInput

func (KeyVersionMap) ElementType added in v2.35.1

func (KeyVersionMap) ElementType() reflect.Type

func (KeyVersionMap) ToKeyVersionMapOutput added in v2.35.1

func (i KeyVersionMap) ToKeyVersionMapOutput() KeyVersionMapOutput

func (KeyVersionMap) ToKeyVersionMapOutputWithContext added in v2.35.1

func (i KeyVersionMap) ToKeyVersionMapOutputWithContext(ctx context.Context) KeyVersionMapOutput

type KeyVersionMapInput added in v2.35.1

type KeyVersionMapInput interface {
	pulumi.Input

	ToKeyVersionMapOutput() KeyVersionMapOutput
	ToKeyVersionMapOutputWithContext(context.Context) KeyVersionMapOutput
}

KeyVersionMapInput is an input type that accepts KeyVersionMap and KeyVersionMapOutput values. You can construct a concrete instance of `KeyVersionMapInput` via:

KeyVersionMap{ "key": KeyVersionArgs{...} }

type KeyVersionMapOutput added in v2.35.1

type KeyVersionMapOutput struct{ *pulumi.OutputState }

func (KeyVersionMapOutput) ElementType added in v2.35.1

func (KeyVersionMapOutput) ElementType() reflect.Type

func (KeyVersionMapOutput) MapIndex added in v2.35.1

func (KeyVersionMapOutput) ToKeyVersionMapOutput added in v2.35.1

func (o KeyVersionMapOutput) ToKeyVersionMapOutput() KeyVersionMapOutput

func (KeyVersionMapOutput) ToKeyVersionMapOutputWithContext added in v2.35.1

func (o KeyVersionMapOutput) ToKeyVersionMapOutputWithContext(ctx context.Context) KeyVersionMapOutput

type KeyVersionOutput added in v2.25.1

type KeyVersionOutput struct {
	*pulumi.OutputState
}

func (KeyVersionOutput) ElementType added in v2.25.1

func (KeyVersionOutput) ElementType() reflect.Type

func (KeyVersionOutput) ToKeyVersionOutput added in v2.25.1

func (o KeyVersionOutput) ToKeyVersionOutput() KeyVersionOutput

func (KeyVersionOutput) ToKeyVersionOutputWithContext added in v2.25.1

func (o KeyVersionOutput) ToKeyVersionOutputWithContext(ctx context.Context) KeyVersionOutput

func (KeyVersionOutput) ToKeyVersionPtrOutput added in v2.35.1

func (o KeyVersionOutput) ToKeyVersionPtrOutput() KeyVersionPtrOutput

func (KeyVersionOutput) ToKeyVersionPtrOutputWithContext added in v2.35.1

func (o KeyVersionOutput) ToKeyVersionPtrOutputWithContext(ctx context.Context) KeyVersionPtrOutput

type KeyVersionPtrInput added in v2.35.1

type KeyVersionPtrInput interface {
	pulumi.Input

	ToKeyVersionPtrOutput() KeyVersionPtrOutput
	ToKeyVersionPtrOutputWithContext(ctx context.Context) KeyVersionPtrOutput
}

type KeyVersionPtrOutput added in v2.35.1

type KeyVersionPtrOutput struct {
	*pulumi.OutputState
}

func (KeyVersionPtrOutput) ElementType added in v2.35.1

func (KeyVersionPtrOutput) ElementType() reflect.Type

func (KeyVersionPtrOutput) ToKeyVersionPtrOutput added in v2.35.1

func (o KeyVersionPtrOutput) ToKeyVersionPtrOutput() KeyVersionPtrOutput

func (KeyVersionPtrOutput) ToKeyVersionPtrOutputWithContext added in v2.35.1

func (o KeyVersionPtrOutput) ToKeyVersionPtrOutputWithContext(ctx context.Context) KeyVersionPtrOutput

type KeyVersionState added in v2.7.0

type KeyVersionState struct {
	// The date and time (UTC time) when the Alikms key version was created.
	CreationDate pulumi.StringPtrInput
	// The id of the master key (CMK).
	KeyId pulumi.StringPtrInput
	// The id of the Alikms key version.
	KeyVersionId pulumi.StringPtrInput
}

func (KeyVersionState) ElementType added in v2.7.0

func (KeyVersionState) ElementType() reflect.Type

type LookupCiphertextArgs

type LookupCiphertextArgs struct {
	// -
	// (Optional) The Encryption context. If you specify this parameter here, it is also required when you call the Decrypt API operation. For more information, see [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm).
	EncryptionContext map[string]string `pulumi:"encryptionContext"`
	// The globally unique ID of the CMK.
	KeyId string `pulumi:"keyId"`
	// The plaintext to be encrypted which must be encoded in Base64.
	Plaintext string `pulumi:"plaintext"`
}

A collection of arguments for invoking getCiphertext.

type LookupCiphertextResult

type LookupCiphertextResult struct {
	// The ciphertext of the data key encrypted with the primary CMK version.
	CiphertextBlob    string            `pulumi:"ciphertextBlob"`
	EncryptionContext map[string]string `pulumi:"encryptionContext"`
	// The provider-assigned unique ID for this managed resource.
	Id        string `pulumi:"id"`
	KeyId     string `pulumi:"keyId"`
	Plaintext string `pulumi:"plaintext"`
}

A collection of values returned by getCiphertext.

type Secret

type Secret struct {
	pulumi.CustomResourceState

	// The Alicloud Resource Name (ARN) of the secret.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The description of the secret.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ID of the KMS CMK that is used to encrypt the secret value. If you do not specify this parameter, Secrets Manager automatically creates an encryption key to encrypt the secret.
	EncryptionKeyId pulumi.StringPtrOutput `pulumi:"encryptionKeyId"`
	// Specifies whether to forcibly delete the secret. If this parameter is set to true, the secret cannot be recovered. Valid values: true, false. Default to: false.
	ForceDeleteWithoutRecovery pulumi.BoolPtrOutput `pulumi:"forceDeleteWithoutRecovery"`
	// The time when the secret is scheduled to be deleted.
	PlannedDeleteTime pulumi.StringOutput `pulumi:"plannedDeleteTime"`
	// Specifies the recovery period of the secret if you do not forcibly delete it. Default value: 30. It will be ignored when `forceDeleteWithoutRecovery` is true.
	RecoveryWindowInDays pulumi.IntPtrOutput `pulumi:"recoveryWindowInDays"`
	// The value of the secret that you want to create. Secrets Manager encrypts the secret value and stores it in the initial version.
	SecretData pulumi.StringOutput `pulumi:"secretData"`
	// The type of the secret value. Valid values: text, binary. Default to "text".
	SecretDataType pulumi.StringPtrOutput `pulumi:"secretDataType"`
	// The name of the secret.
	SecretName pulumi.StringOutput `pulumi:"secretName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The version number of the initial version. Version numbers are unique in each secret object.
	VersionId pulumi.StringOutput `pulumi:"versionId"`
	// ) The stage labels that mark the new secret version. If you do not specify this parameter, Secrets Manager marks it with "ACSCurrent".
	VersionStages pulumi.StringArrayOutput `pulumi:"versionStages"`
}

This resouce used to create a secret and store its initial version.

> **NOTE:** Available in 1.76.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kms"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := kms.NewSecret(ctx, "_default", &kms.SecretArgs{
			Description:                pulumi.String("from terraform"),
			ForceDeleteWithoutRecovery: pulumi.Bool(true),
			SecretData:                 pulumi.String("Secret data."),
			SecretName:                 pulumi.String("secret-foo"),
			VersionId:                  pulumi.String("000000000001"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

KMS secret can be imported using the id, e.g.

```sh

$ pulumi import alicloud:kms/secret:Secret default secret-foo

```

func GetSecret

func GetSecret(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecretState, opts ...pulumi.ResourceOption) (*Secret, error)

GetSecret gets an existing Secret resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSecret

func NewSecret(ctx *pulumi.Context,
	name string, args *SecretArgs, opts ...pulumi.ResourceOption) (*Secret, error)

NewSecret registers a new resource with the given unique name, arguments, and options.

func (*Secret) ElementType added in v2.25.1

func (*Secret) ElementType() reflect.Type

func (*Secret) ToSecretOutput added in v2.25.1

func (i *Secret) ToSecretOutput() SecretOutput

func (*Secret) ToSecretOutputWithContext added in v2.25.1

func (i *Secret) ToSecretOutputWithContext(ctx context.Context) SecretOutput

func (*Secret) ToSecretPtrOutput added in v2.35.1

func (i *Secret) ToSecretPtrOutput() SecretPtrOutput

func (*Secret) ToSecretPtrOutputWithContext added in v2.35.1

func (i *Secret) ToSecretPtrOutputWithContext(ctx context.Context) SecretPtrOutput

type SecretArgs

type SecretArgs struct {
	// The description of the secret.
	Description pulumi.StringPtrInput
	// The ID of the KMS CMK that is used to encrypt the secret value. If you do not specify this parameter, Secrets Manager automatically creates an encryption key to encrypt the secret.
	EncryptionKeyId pulumi.StringPtrInput
	// Specifies whether to forcibly delete the secret. If this parameter is set to true, the secret cannot be recovered. Valid values: true, false. Default to: false.
	ForceDeleteWithoutRecovery pulumi.BoolPtrInput
	// Specifies the recovery period of the secret if you do not forcibly delete it. Default value: 30. It will be ignored when `forceDeleteWithoutRecovery` is true.
	RecoveryWindowInDays pulumi.IntPtrInput
	// The value of the secret that you want to create. Secrets Manager encrypts the secret value and stores it in the initial version.
	SecretData pulumi.StringInput
	// The type of the secret value. Valid values: text, binary. Default to "text".
	SecretDataType pulumi.StringPtrInput
	// The name of the secret.
	SecretName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The version number of the initial version. Version numbers are unique in each secret object.
	VersionId pulumi.StringInput
	// ) The stage labels that mark the new secret version. If you do not specify this parameter, Secrets Manager marks it with "ACSCurrent".
	VersionStages pulumi.StringArrayInput
}

The set of arguments for constructing a Secret resource.

func (SecretArgs) ElementType

func (SecretArgs) ElementType() reflect.Type

type SecretArray added in v2.35.1

type SecretArray []SecretInput

func (SecretArray) ElementType added in v2.35.1

func (SecretArray) ElementType() reflect.Type

func (SecretArray) ToSecretArrayOutput added in v2.35.1

func (i SecretArray) ToSecretArrayOutput() SecretArrayOutput

func (SecretArray) ToSecretArrayOutputWithContext added in v2.35.1

func (i SecretArray) ToSecretArrayOutputWithContext(ctx context.Context) SecretArrayOutput

type SecretArrayInput added in v2.35.1

type SecretArrayInput interface {
	pulumi.Input

	ToSecretArrayOutput() SecretArrayOutput
	ToSecretArrayOutputWithContext(context.Context) SecretArrayOutput
}

SecretArrayInput is an input type that accepts SecretArray and SecretArrayOutput values. You can construct a concrete instance of `SecretArrayInput` via:

SecretArray{ SecretArgs{...} }

type SecretArrayOutput added in v2.35.1

type SecretArrayOutput struct{ *pulumi.OutputState }

func (SecretArrayOutput) ElementType added in v2.35.1

func (SecretArrayOutput) ElementType() reflect.Type

func (SecretArrayOutput) Index added in v2.35.1

func (SecretArrayOutput) ToSecretArrayOutput added in v2.35.1

func (o SecretArrayOutput) ToSecretArrayOutput() SecretArrayOutput

func (SecretArrayOutput) ToSecretArrayOutputWithContext added in v2.35.1

func (o SecretArrayOutput) ToSecretArrayOutputWithContext(ctx context.Context) SecretArrayOutput

type SecretInput added in v2.25.1

type SecretInput interface {
	pulumi.Input

	ToSecretOutput() SecretOutput
	ToSecretOutputWithContext(ctx context.Context) SecretOutput
}

type SecretMap added in v2.35.1

type SecretMap map[string]SecretInput

func (SecretMap) ElementType added in v2.35.1

func (SecretMap) ElementType() reflect.Type

func (SecretMap) ToSecretMapOutput added in v2.35.1

func (i SecretMap) ToSecretMapOutput() SecretMapOutput

func (SecretMap) ToSecretMapOutputWithContext added in v2.35.1

func (i SecretMap) ToSecretMapOutputWithContext(ctx context.Context) SecretMapOutput

type SecretMapInput added in v2.35.1

type SecretMapInput interface {
	pulumi.Input

	ToSecretMapOutput() SecretMapOutput
	ToSecretMapOutputWithContext(context.Context) SecretMapOutput
}

SecretMapInput is an input type that accepts SecretMap and SecretMapOutput values. You can construct a concrete instance of `SecretMapInput` via:

SecretMap{ "key": SecretArgs{...} }

type SecretMapOutput added in v2.35.1

type SecretMapOutput struct{ *pulumi.OutputState }

func (SecretMapOutput) ElementType added in v2.35.1

func (SecretMapOutput) ElementType() reflect.Type

func (SecretMapOutput) MapIndex added in v2.35.1

func (SecretMapOutput) ToSecretMapOutput added in v2.35.1

func (o SecretMapOutput) ToSecretMapOutput() SecretMapOutput

func (SecretMapOutput) ToSecretMapOutputWithContext added in v2.35.1

func (o SecretMapOutput) ToSecretMapOutputWithContext(ctx context.Context) SecretMapOutput

type SecretOutput added in v2.25.1

type SecretOutput struct {
	*pulumi.OutputState
}

func (SecretOutput) ElementType added in v2.25.1

func (SecretOutput) ElementType() reflect.Type

func (SecretOutput) ToSecretOutput added in v2.25.1

func (o SecretOutput) ToSecretOutput() SecretOutput

func (SecretOutput) ToSecretOutputWithContext added in v2.25.1

func (o SecretOutput) ToSecretOutputWithContext(ctx context.Context) SecretOutput

func (SecretOutput) ToSecretPtrOutput added in v2.35.1

func (o SecretOutput) ToSecretPtrOutput() SecretPtrOutput

func (SecretOutput) ToSecretPtrOutputWithContext added in v2.35.1

func (o SecretOutput) ToSecretPtrOutputWithContext(ctx context.Context) SecretPtrOutput

type SecretPtrInput added in v2.35.1

type SecretPtrInput interface {
	pulumi.Input

	ToSecretPtrOutput() SecretPtrOutput
	ToSecretPtrOutputWithContext(ctx context.Context) SecretPtrOutput
}

type SecretPtrOutput added in v2.35.1

type SecretPtrOutput struct {
	*pulumi.OutputState
}

func (SecretPtrOutput) ElementType added in v2.35.1

func (SecretPtrOutput) ElementType() reflect.Type

func (SecretPtrOutput) ToSecretPtrOutput added in v2.35.1

func (o SecretPtrOutput) ToSecretPtrOutput() SecretPtrOutput

func (SecretPtrOutput) ToSecretPtrOutputWithContext added in v2.35.1

func (o SecretPtrOutput) ToSecretPtrOutputWithContext(ctx context.Context) SecretPtrOutput

type SecretState

type SecretState struct {
	// The Alicloud Resource Name (ARN) of the secret.
	Arn pulumi.StringPtrInput
	// The description of the secret.
	Description pulumi.StringPtrInput
	// The ID of the KMS CMK that is used to encrypt the secret value. If you do not specify this parameter, Secrets Manager automatically creates an encryption key to encrypt the secret.
	EncryptionKeyId pulumi.StringPtrInput
	// Specifies whether to forcibly delete the secret. If this parameter is set to true, the secret cannot be recovered. Valid values: true, false. Default to: false.
	ForceDeleteWithoutRecovery pulumi.BoolPtrInput
	// The time when the secret is scheduled to be deleted.
	PlannedDeleteTime pulumi.StringPtrInput
	// Specifies the recovery period of the secret if you do not forcibly delete it. Default value: 30. It will be ignored when `forceDeleteWithoutRecovery` is true.
	RecoveryWindowInDays pulumi.IntPtrInput
	// The value of the secret that you want to create. Secrets Manager encrypts the secret value and stores it in the initial version.
	SecretData pulumi.StringPtrInput
	// The type of the secret value. Valid values: text, binary. Default to "text".
	SecretDataType pulumi.StringPtrInput
	// The name of the secret.
	SecretName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The version number of the initial version. Version numbers are unique in each secret object.
	VersionId pulumi.StringPtrInput
	// ) The stage labels that mark the new secret version. If you do not specify this parameter, Secrets Manager marks it with "ACSCurrent".
	VersionStages pulumi.StringArrayInput
}

func (SecretState) ElementType

func (SecretState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL