UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

192 lines (191 loc) 6.43 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource schema for AWS::FIS::ExperimentTemplate * * ## Example Usage * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const fisRole = new aws_native.iam.Role("fisRole", { * assumeRolePolicyDocument: { * version: "2012-10-17", * statement: [{ * effect: "Allow", * principal: { * service: "fis.amazonaws.com", * }, * action: "sts:AssumeRole", * }], * }, * policies: [{ * policyName: "FISRoleEC2Actions", * policyDocument: { * version: "2012-10-17", * statement: [{ * effect: "Allow", * action: [ * "ec2:RebootInstances", * "ec2:StopInstances", * "ec2:StartInstances", * "ec2:TerminateInstances", * ], * resource: "arn:aws:ec2:*:*:instance/*", * }], * }, * }], * }); * const experimentTemplate = new aws_native.fis.ExperimentTemplate("experimentTemplate", { * description: "stop an instance based on a tag", * actions: { * stopInstances: { * actionId: "aws:ec2:stop-instances", * parameters: { * startInstancesAfterDuration: "PT2M", * }, * targets: { * instances: "oneRandomInstance", * }, * }, * }, * targets: { * oneRandomInstance: { * resourceTags: { * env: "prod", * }, * resourceType: "aws:ec2:instance", * selectionMode: "COUNT(1)", * }, * }, * stopConditions: [{ * source: "none", * }], * tags: { * name: "fisStopInstances", * }, * roleArn: fisRole.arn, * }); * * ``` */ export declare class ExperimentTemplate extends pulumi.CustomResource { /** * Get an existing ExperimentTemplate resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ExperimentTemplate; /** * Returns true if the given object is an instance of ExperimentTemplate. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ExperimentTemplate; /** * The actions for the experiment. */ readonly actions: pulumi.Output<{ [key: string]: outputs.fis.ExperimentTemplateAction; } | undefined>; /** * The ID of the experiment template. */ readonly awsId: pulumi.Output<string>; /** * The description for the experiment template. */ readonly description: pulumi.Output<string>; /** * The experiment options for an experiment template. */ readonly experimentOptions: pulumi.Output<outputs.fis.ExperimentTemplateExperimentOptions | undefined>; /** * Describes the report configuration for the experiment template. */ readonly experimentReportConfiguration: pulumi.Output<outputs.fis.ExperimentTemplateExperimentReportConfiguration | undefined>; /** * The configuration for experiment logging. */ readonly logConfiguration: pulumi.Output<outputs.fis.ExperimentTemplateLogConfiguration | undefined>; /** * The Amazon Resource Name (ARN) of an IAM role. */ readonly roleArn: pulumi.Output<string>; /** * The stop conditions for the experiment. */ readonly stopConditions: pulumi.Output<outputs.fis.ExperimentTemplateStopCondition[]>; /** * The tags for the experiment template. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The targets for the experiment. */ readonly targets: pulumi.Output<{ [key: string]: outputs.fis.ExperimentTemplateTarget; }>; /** * Create a ExperimentTemplate resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ExperimentTemplateArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a ExperimentTemplate resource. */ export interface ExperimentTemplateArgs { /** * The actions for the experiment. */ actions?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.fis.ExperimentTemplateActionArgs>; }>; /** * The description for the experiment template. */ description: pulumi.Input<string>; /** * The experiment options for an experiment template. */ experimentOptions?: pulumi.Input<inputs.fis.ExperimentTemplateExperimentOptionsArgs>; /** * Describes the report configuration for the experiment template. */ experimentReportConfiguration?: pulumi.Input<inputs.fis.ExperimentTemplateExperimentReportConfigurationArgs>; /** * The configuration for experiment logging. */ logConfiguration?: pulumi.Input<inputs.fis.ExperimentTemplateLogConfigurationArgs>; /** * The Amazon Resource Name (ARN) of an IAM role. */ roleArn: pulumi.Input<string>; /** * The stop conditions for the experiment. */ stopConditions: pulumi.Input<pulumi.Input<inputs.fis.ExperimentTemplateStopConditionArgs>[]>; /** * The tags for the experiment template. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * The targets for the experiment. */ targets: pulumi.Input<{ [key: string]: pulumi.Input<inputs.fis.ExperimentTemplateTargetArgs>; }>; }