export interface BaseSecret { name: string description?: string /** * A list of regions to create read replicas * of the secret in. */ replicaRegions?: string[] } export type JsonSecretSimpleField = string export interface JsonSecretDescribedField { key: string description?: string example?: string } /** * Used for secrets that are a single plaintext string, * and do not require JSON formating. */ export interface StringSecret extends BaseSecret { type: "string" } export interface JsonSecret extends BaseSecret { type: "json" fields: (JsonSecretSimpleField | JsonSecretDescribedField)[] } export type Secret = JsonSecret | StringSecret export interface SecretGroup { accountId: string region: string description: string namePrefix: string secrets: Secret[] }