import * as core from "@terrascript/core"; export interface DsSelectionArgs { /** * (Required) The backup plan ID associated with the selection of resources. */ planId: string | core.StringOut; /** * (Required) The backup selection ID. */ selectionId: string | core.StringOut; } export class DsSelection extends core.Data { /** * The ARN of the IAM role that AWS Backup uses to authenticate when restoring and backing up the targe * t resource. See the [AWS Backup Developer Guide](https://docs.aws.amazon.com/aws-backup/latest/devgu * ide/access-control.html#managed-policies) for additional information about using AWS managed policie * s or creating custom policies attached to the IAM role. */ @core.attr(String, { computed: true }) public iamRoleArn!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The display name of a resource selection document. */ @core.attr(String, { computed: true }) public name!: string | core.StringOut; /** * (Required) The backup plan ID associated with the selection of resources. */ @core.attr(String) public planId!: string | core.StringOut; /** * An array of strings that either contain Amazon Resource Names (ARNs) or match patterns of resources * to assign to a backup plan.. */ @core.attr(String, { computed: true, kind: "array" }) public resources!: core.Array | core.ArrayOut; /** * (Required) The backup selection ID. */ @core.attr(String) public selectionId!: string | core.StringOut; constructor(name: string, args?: DsSelectionArgs) { super(name, "aws_backup_selection", args); } public override getNamespace(): string { return "aws_backup"; } }