/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * An example resource schema demonstrating some basic constructs and validation rules. */ export interface AwsBudgetsBudgetsaction { ActionId?: string; BudgetName: string; NotificationType: "ACTUAL" | "FORECASTED"; ActionType: "APPLY_IAM_POLICY" | "APPLY_SCP_POLICY" | "RUN_SSM_DOCUMENTS"; ActionThreshold: ActionThreshold; ExecutionRoleArn: string; ApprovalModel?: "AUTOMATIC" | "MANUAL"; /** * @minItems 1 * @maxItems 11 */ Subscribers: | [Subscriber] | [Subscriber, Subscriber] | [Subscriber, Subscriber, Subscriber] | [Subscriber, Subscriber, Subscriber, Subscriber] | [Subscriber, Subscriber, Subscriber, Subscriber, Subscriber] | [Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber] | [Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber] | [Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber] | [Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber] | [ Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber ] | [ Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber, Subscriber ]; Definition: Definition; } export interface ActionThreshold { Value: number; Type: "PERCENTAGE" | "ABSOLUTE_VALUE"; } export interface Subscriber { Type: "SNS" | "EMAIL"; Address: string; } export interface Definition { IamActionDefinition?: IamActionDefinition; ScpActionDefinition?: ScpActionDefinition; SsmActionDefinition?: SsmActionDefinition; } export interface IamActionDefinition { PolicyArn: string; /** * @minItems 1 * @maxItems 100 */ Roles?: [string, ...string[]]; /** * @minItems 1 * @maxItems 100 */ Groups?: [string, ...string[]]; /** * @minItems 1 * @maxItems 100 */ Users?: [string, ...string[]]; } export interface ScpActionDefinition { PolicyId: string; /** * @minItems 1 * @maxItems 100 */ TargetIds: [string, ...string[]]; } export interface SsmActionDefinition { Subtype: "STOP_EC2_INSTANCES" | "STOP_RDS_INSTANCES"; Region: string; /** * @minItems 1 * @maxItems 100 */ InstanceIds: [string, ...string[]]; }