import * as core from "@terrascript/core"; export interface ParameterArgs extends core.SchemaArgs { name: string | core.StringOut; resourceValue?: string | core.StringOut; staticValue?: string | core.StringOut; staticValues?: core.Array | core.ArrayOut; } export class Parameter extends core.Schema { @core.attr(String) public name!: string | core.StringOut; @core.attr(String) public resourceValue?: string | core.StringOut; @core.attr(String) public staticValue?: string | core.StringOut; @core.attr(String, { kind: "array" }) public staticValues?: core.Array | core.ArrayOut; } export interface SsmControlsArgs extends core.SchemaArgs { concurrentExecutionRatePercentage?: number | core.NumberOut; errorPercentage?: number | core.NumberOut; } export class SsmControls extends core.Schema { @core.attr(Number) public concurrentExecutionRatePercentage?: number | core.NumberOut; @core.attr(Number) public errorPercentage?: number | core.NumberOut; } export interface ExecutionControlsArgs extends core.SchemaArgs { ssmControls?: SsmControls; } export class ExecutionControls extends core.Schema { @core.attr(SsmControls) public ssmControls?: SsmControls; } export interface RemediationConfigurationArgs extends core.ResourceArgs { /** * (Optional) Remediation is triggered automatically if `true`. */ automatic?: boolean | core.BooleanOut; /** * (Required) Name of the AWS Config rule. */ configRuleName: string | core.StringOut; /** * (Optional) Configuration block for execution controls. See below. */ executionControls?: ExecutionControls; /** * (Optional) Maximum number of failed attempts for auto-remediation. If you do not select a number, th * e default is 5. */ maximumAutomaticAttempts?: number | core.NumberOut; /** * (Optional) Can be specified multiple times for each parameter. Each parameter block supports argumen * ts below. */ parameter?: core.Array | core.ArrayOut; /** * (Optional) Type of resource. */ resourceType?: string | core.StringOut; /** * (Optional) Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a num * ber, the default is 60 seconds. */ retryAttemptSeconds?: number | core.NumberOut; /** * (Required) Target ID is the name of the public document. */ targetId: string | core.StringOut; /** * (Required) Type of the target. Target executes remediation. For example, SSM document. */ targetType: string | core.StringOut; /** * (Optional) Version of the target. For example, version of the SSM document */ targetVersion?: string | core.StringOut; } export class RemediationConfiguration extends core.Resource { /** * ARN of the Config Remediation Configuration. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) Remediation is triggered automatically if `true`. */ @core.attr(Boolean) public automatic?: boolean | core.BooleanOut; /** * (Required) Name of the AWS Config rule. */ @core.attr(String) public configRuleName!: string | core.StringOut; /** * (Optional) Configuration block for execution controls. See below. */ @core.attr(ExecutionControls) public executionControls?: ExecutionControls; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Maximum number of failed attempts for auto-remediation. If you do not select a number, th * e default is 5. */ @core.attr(Number) public maximumAutomaticAttempts?: number | core.NumberOut; /** * (Optional) Can be specified multiple times for each parameter. Each parameter block supports argumen * ts below. */ @core.attr(Parameter, { kind: "array" }) public parameter?: core.Array | core.ArrayOut; /** * (Optional) Type of resource. */ @core.attr(String) public resourceType?: string | core.StringOut; /** * (Optional) Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a num * ber, the default is 60 seconds. */ @core.attr(Number) public retryAttemptSeconds?: number | core.NumberOut; /** * (Required) Target ID is the name of the public document. */ @core.attr(String) public targetId!: string | core.StringOut; /** * (Required) Type of the target. Target executes remediation. For example, SSM document. */ @core.attr(String) public targetType!: string | core.StringOut; /** * (Optional) Version of the target. For example, version of the SSM document */ @core.attr(String) public targetVersion?: string | core.StringOut; constructor(name: string, args?: RemediationConfigurationArgs) { super(name, "aws_config_remediation_configuration", args); } public override getNamespace(): string { return "aws_config"; } }