import * as core from "@terrascript/core"; export interface AgentArgs extends core.ResourceArgs { /** * (Optional) DataSync Agent activation key during resource creation. Conflicts with `ip_address`. If a * n `ip_address` is provided instead, Terraform will retrieve the `activation_key` as part of the reso * urce creation. */ activationKey?: string | core.StringOut; /** * (Optional) DataSync Agent IP address to retrieve activation key during resource creation. Conflicts * with `activation_key`. DataSync Agent must be accessible on port 80 from where Terraform is running. */ ipAddress?: string | core.StringOut; /** * (Required) Name of the DataSync Agent. */ name?: string | core.StringOut; /** * (Optional) The IP address of the VPC endpoint the agent should connect to when retrieving an activat * ion key during resource creation. Conflicts with `activation_key`. */ privateLinkEndpoint?: string | core.StringOut; /** * (Optional) The ARNs of the security groups used to protect your data transfer task subnets. */ securityGroupArns?: core.Array | core.ArrayOut; /** * (Optional) The Amazon Resource Names (ARNs) of the subnets in which DataSync will create elastic net * work interfaces for each data transfer task. */ subnetArns?: core.Array | core.ArrayOut; /** * (Optional) Key-value pairs of resource tags to assign to the DataSync Agent. If configured with a pr * ovider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/la * test/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those de * fined 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; /** * (Optional) The ID of the VPC (virtual private cloud) endpoint that the agent has access to. */ vpcEndpointId?: string | core.StringOut; } export class Agent extends core.Resource { /** * (Optional) DataSync Agent activation key during resource creation. Conflicts with `ip_address`. If a * n `ip_address` is provided instead, Terraform will retrieve the `activation_key` as part of the reso * urce creation. */ @core.attr(String, { computed: true }) public activationKey?: string | core.StringOut; /** * Amazon Resource Name (ARN) of the DataSync Agent. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * Amazon Resource Name (ARN) of the DataSync Agent. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) DataSync Agent IP address to retrieve activation key during resource creation. Conflicts * with `activation_key`. DataSync Agent must be accessible on port 80 from where Terraform is running. */ @core.attr(String, { computed: true }) public ipAddress?: string | core.StringOut; /** * (Required) Name of the DataSync Agent. */ @core.attr(String) public name?: string | core.StringOut; /** * (Optional) The IP address of the VPC endpoint the agent should connect to when retrieving an activat * ion key during resource creation. Conflicts with `activation_key`. */ @core.attr(String) public privateLinkEndpoint?: string | core.StringOut; /** * (Optional) The ARNs of the security groups used to protect your data transfer task subnets. */ @core.attr(String, { kind: "array" }) public securityGroupArns?: core.Array | core.ArrayOut; /** * (Optional) The Amazon Resource Names (ARNs) of the subnets in which DataSync will create elastic net * work interfaces for each data transfer task. */ @core.attr(String, { kind: "array" }) public subnetArns?: core.Array | core.ArrayOut; /** * (Optional) Key-value pairs of resource tags to assign to the DataSync Agent. If configured with a pr * ovider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/la * test/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those de * fined 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; /** * (Optional) The ID of the VPC (virtual private cloud) endpoint that the agent has access to. */ @core.attr(String) public vpcEndpointId?: string | core.StringOut; constructor(name: string, args?: AgentArgs) { super(name, "aws_datasync_agent", args); } public override getNamespace(): string { return "aws_datasync"; } }