import * as core from "@terrascript/core"; export interface RecordingGroupArgs extends core.SchemaArgs { allSupported?: boolean | core.BooleanOut; includeGlobalResourceTypes?: boolean | core.BooleanOut; resourceTypes?: core.Array | core.ArrayOut; } export class RecordingGroup extends core.Schema { @core.attr(Boolean) public allSupported?: boolean | core.BooleanOut; @core.attr(Boolean) public includeGlobalResourceTypes?: boolean | core.BooleanOut; @core.attr(String, { kind: "array" }) public resourceTypes?: core.Array | core.ArrayOut; } export interface ConfigurationRecorderArgs extends core.ResourceArgs { /** * (Optional) The name of the recorder. Defaults to `default`. Changing it recreates the resource. */ name?: string | core.StringOut; /** * (Optional) Recording group - see below. */ recordingGroup?: RecordingGroup; /** * (Required) Amazon Resource Name (ARN) of the IAM role. Used to make read or write requests to the de * livery channel and to describe the AWS resources associated with the account. See [AWS Docs](http:// * docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) for more details. */ roleArn: string | core.StringOut; } export class ConfigurationRecorder extends core.Resource { /** * Name of the recorder */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) The name of the recorder. Defaults to `default`. Changing it recreates the resource. */ @core.attr(String) public name?: string | core.StringOut; /** * (Optional) Recording group - see below. */ @core.attr(RecordingGroup, { computed: true }) public recordingGroup?: RecordingGroup; /** * (Required) Amazon Resource Name (ARN) of the IAM role. Used to make read or write requests to the de * livery channel and to describe the AWS resources associated with the account. See [AWS Docs](http:// * docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) for more details. */ @core.attr(String) public roleArn!: string | core.StringOut; constructor(name: string, args?: ConfigurationRecorderArgs) { super(name, "aws_config_configuration_recorder", args); } public override getNamespace(): string { return "aws_config"; } }