UNPKG

@altostra/core

Version:

Core library for shared types and logic

41 lines (40 loc) 1.69 kB
import type { NonEmptyString } from "../../../common/CustomTypes/NonEmptyString"; import type { NaturalNumber } from "../../../common/CustomTypes/Numerics"; import type { AwsResourceCommon, CloudFormationTags } from "../common"; import type { CloudFormationValue } from "../IntrinsicFunctions"; export declare type SecretType = 'AWS::SecretsManager::Secret'; export interface Secret extends AwsResourceCommon { Type: SecretType; Properties: SecretProperties; } export interface CommonSecretProperties { Description?: CloudFormationValue; KmsKeyId?: CloudFormationValue; Name?: NonEmptyString; ReplicaRegions?: object; Tags?: CloudFormationTags; } export interface SpecifiedSecretProperties extends CommonSecretProperties { SecretString: CloudFormationValue; } export interface GeneratedSecretProperties extends CommonSecretProperties { GenerateSecretString: GenerateSecretString; } export declare type SecretProperties = GeneratedSecretProperties | SpecifiedSecretProperties; export interface CommonGenerateSecretString { ExcludeCharacters?: string; ExcludeLowercase?: boolean; ExcludeNumbers?: boolean; ExcludePunctuation?: boolean; ExcludeUppercase?: boolean; IncludeSpace?: boolean; PasswordLength?: NaturalNumber; RequireEachIncludedType?: boolean; } export interface GenerateJsonSecretStringProperties extends CommonGenerateSecretString { GenerateStringKey: string; SecretStringTemplate: string; } export interface GenerateTextSecretStringProperties extends CommonGenerateSecretString { } export declare type GenerateSecretString = GenerateJsonSecretStringProperties | GenerateTextSecretStringProperties;