import * as core from "@terrascript/core"; export interface SecretVersionArgs extends core.ResourceArgs { /** * (Optional) Specifies binary data that you want to encrypt and store in this version of the secret. T * his is required if secret_string is not set. Needs to be encoded to base64. */ secretBinary?: string | core.StringOut; /** * (Required) Specifies the secret to which you want to add a new version. You can specify either the A * mazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist. */ secretId: string | core.StringOut; /** * (Optional) Specifies text data that you want to encrypt and store in this version of the secret. Thi * s is required if secret_binary is not set. */ secretString?: string | core.StringOut; /** * (Optional) Specifies a list of staging labels that are attached to this version of the secret. A sta * ging label must be unique to a single version of the secret. If you specify a staging label that's a * lready associated with a different version of the same secret then that staging label is automatical * ly removed from the other version and attached to this version. If you do not specify a value, then * AWS Secrets Manager automatically moves the staging label `AWSCURRENT` to this new version on creati * on. */ versionStages?: core.Array | core.ArrayOut; } export class SecretVersion extends core.Resource { /** * The ARN of the secret. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * A pipe delimited combination of secret ID and version ID. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Specifies binary data that you want to encrypt and store in this version of the secret. T * his is required if secret_string is not set. Needs to be encoded to base64. */ @core.attr(String) public secretBinary?: string | core.StringOut; /** * (Required) Specifies the secret to which you want to add a new version. You can specify either the A * mazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist. */ @core.attr(String) public secretId!: string | core.StringOut; /** * (Optional) Specifies text data that you want to encrypt and store in this version of the secret. Thi * s is required if secret_binary is not set. */ @core.attr(String) public secretString?: string | core.StringOut; /** * The unique identifier of the version of the secret. */ @core.attr(String, { computed: true }) public versionId!: string | core.StringOut; /** * (Optional) Specifies a list of staging labels that are attached to this version of the secret. A sta * ging label must be unique to a single version of the secret. If you specify a staging label that's a * lready associated with a different version of the same secret then that staging label is automatical * ly removed from the other version and attached to this version. If you do not specify a value, then * AWS Secrets Manager automatically moves the staging label `AWSCURRENT` to this new version on creati * on. */ @core.attr(String, { computed: true, kind: "array" }) public versionStages?: core.Array | core.ArrayOut; constructor(name: string, args?: SecretVersionArgs) { super(name, "aws_secretsmanager_secret_version", args); } public override getNamespace(): string { return "aws_secretsmanager"; } }