import * as core from "@terrascript/core"; export interface GeofenceCollectionArgs extends core.ResourceArgs { /** * (Required) The name of the geofence collection. */ collectionName: string | core.StringOut; /** * (Optional) The optional description for the geofence collection. */ description?: string | core.StringOut; /** * (Optional) A key identifier for an AWS KMS customer managed key assigned to the Amazon Location reso * urce. */ kmsKeyId?: string | core.StringOut; /** * (Optional) Key-value tags for the geofence collection. If configured with a provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags * configuration-block) present, tags with matching keys will overwrite those defined at the provider- * level. */ tags?: core.Map | core.MapOut; tagsAll?: core.Map | core.MapOut; } export class GeofenceCollection extends core.Resource { /** * The Amazon Resource Name (ARN) for the geofence collection resource. Used when you need to specify a * resource across all AWS. */ @core.attr(String, { computed: true }) public collectionArn!: string | core.StringOut; /** * (Required) The name of the geofence collection. */ @core.attr(String) public collectionName!: string | core.StringOut; /** * The timestamp for when the geofence collection resource was created in ISO 8601 format. */ @core.attr(String, { computed: true }) public createTime!: string | core.StringOut; /** * (Optional) The optional description for the geofence collection. */ @core.attr(String) public description?: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) A key identifier for an AWS KMS customer managed key assigned to the Amazon Location reso * urce. */ @core.attr(String) public kmsKeyId?: string | core.StringOut; /** * (Optional) Key-value tags for the geofence collection. If configured with a provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags * configuration-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; @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * The timestamp for when the geofence collection resource was last updated in ISO 8601 format. */ @core.attr(String, { computed: true }) public updateTime!: string | core.StringOut; constructor(name: string, args?: GeofenceCollectionArgs) { super(name, "aws_location_geofence_collection", args); } public override getNamespace(): string { return "aws_location"; } }