import * as core from "@terrascript/core"; export interface ResourceQueryArgs extends core.SchemaArgs { query: string | core.StringOut; type?: string | core.StringOut; } export class ResourceQuery extends core.Schema { @core.attr(String) public query!: string | core.StringOut; @core.attr(String) public type?: string | core.StringOut; } export interface GroupArgs extends core.ResourceArgs { /** * (Optional) A description of the resource group. */ description?: string | core.StringOut; /** * (Required) The resource group's name. A resource group name can have a maximum of 127 characters, in * cluding letters, numbers, hyphens, dots, and underscores. The name cannot start with `AWS` or `aws`. */ name: string | core.StringOut; /** * (Required) A `resource_query` block. Resource queries are documented below. */ resourceQuery: ResourceQuery; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; } export class Group extends core.Resource { /** * The ARN assigned by AWS for this resource group. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) A description of the resource group. */ @core.attr(String) public description?: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The resource group's name. A resource group name can have a maximum of 127 characters, in * cluding letters, numbers, hyphens, dots, and underscores. The name cannot start with `AWS` or `aws`. */ @core.attr(String) public name!: string | core.StringOut; /** * (Required) A `resource_query` block. Resource queries are documented below. */ @core.attr(ResourceQuery) public resourceQuery!: ResourceQuery; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: GroupArgs) { super(name, "aws_resourcegroups_group", args); } public override getNamespace(): string { return "aws_resourcegroups"; } }