import * as core from "@terrascript/core"; export interface DnsOptionsArgs extends core.SchemaArgs { dnsRecordIpType?: string | core.StringOut; } export declare class DnsOptions extends core.Schema { dnsRecordIpType?: string | core.StringOut; } export interface DnsEntryArgs extends core.SchemaArgs { dnsName: string | core.StringOut; hostedZoneId: string | core.StringOut; } export declare class DnsEntry extends core.Schema { dnsName: string | core.StringOut; hostedZoneId: string | core.StringOut; } export interface EndpointArgs extends core.ResourceArgs { /** * (Optional) Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account) * . */ autoAccept?: boolean | core.BooleanOut; /** * (Optional) The DNS options for the endpoint. See dns_options below. */ dnsOptions?: DnsOptions; /** * (Optional) The IP address type for the endpoint. Valid values are `ipv4`, `dualstack`, and `ipv6`. */ ipAddressType?: string | core.StringOut; /** * (Optional) A policy to attach to the endpoint that controls access to the service. This is a JSON fo * rmatted string. Defaults to full access. All `Gateway` and some `Interface` endpoints support polici * es - see the [relevant AWS documentation](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpo * ints-access.html) for more details. For more information about building AWS IAM policy documents wit * h Terraform, see the [AWS IAM Policy Document Guide](https://learn.hashicorp.com/terraform/aws/iam-p * olicy). */ policy?: string | core.StringOut; /** * (Optional; AWS services and AWS Marketplace partner services only) Whether or not to associate a pri * vate hosted zone with the specified VPC. Applicable for endpoints of type `Interface`. */ privateDnsEnabled?: boolean | core.BooleanOut; /** * (Optional) One or more route table IDs. Applicable for endpoints of type `Gateway`. */ routeTableIds?: core.Array | core.ArrayOut; /** * (Optional) The ID of one or more security groups to associate with the network interface. Applicable * for endpoints of type `Interface`. */ securityGroupIds?: core.Array | core.ArrayOut; /** * (Required) The service name. For AWS services the service name is usually in the form `com.amazonaws * ..` (the SageMaker Notebook service is an exception to this rule, the service name * is in the form `aws.sagemaker..notebook`). */ serviceName: string | core.StringOut; /** * (Optional) The ID of one or more subnets in which to create a network interface for the endpoint. Ap * plicable for endpoints of type `GatewayLoadBalancer` and `Interface`. */ subnetIds?: core.Array | core.ArrayOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ 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 VPC endpoint type, `Gateway`, `GatewayLoadBalancer`, or `Interface`. Defaults to `Gat * eway`. */ vpcEndpointType?: string | core.StringOut; /** * (Required) The ID of the VPC in which the endpoint will be used. */ vpcId: string | core.StringOut; } export declare class Endpoint extends core.Resource { /** * The Amazon Resource Name (ARN) of the VPC endpoint. */ arn: string | core.StringOut; /** * (Optional) Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account) * . */ autoAccept?: boolean | core.BooleanOut; /** * The list of CIDR blocks for the exposed AWS service. Applicable for endpoints of type `Gateway`. */ cidrBlocks: core.Array | core.ArrayOut; /** * The DNS entries for the VPC Endpoint. Applicable for endpoints of type `Interface`. DNS blocks are d * ocumented below. */ dnsEntry: core.Array | core.ArrayOut; /** * (Optional) The DNS options for the endpoint. See dns_options below. */ dnsOptions?: DnsOptions; /** * The ID of the VPC endpoint. */ id: string | core.StringOut; /** * (Optional) The IP address type for the endpoint. Valid values are `ipv4`, `dualstack`, and `ipv6`. */ ipAddressType?: string | core.StringOut; /** * One or more network interfaces for the VPC Endpoint. Applicable for endpoints of type `Interface`. */ networkInterfaceIds: core.Array | core.ArrayOut; /** * The ID of the AWS account that owns the VPC endpoint. */ ownerId: string | core.StringOut; /** * (Optional) A policy to attach to the endpoint that controls access to the service. This is a JSON fo * rmatted string. Defaults to full access. All `Gateway` and some `Interface` endpoints support polici * es - see the [relevant AWS documentation](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpo * ints-access.html) for more details. For more information about building AWS IAM policy documents wit * h Terraform, see the [AWS IAM Policy Document Guide](https://learn.hashicorp.com/terraform/aws/iam-p * olicy). */ policy?: string | core.StringOut; /** * The prefix list ID of the exposed AWS service. Applicable for endpoints of type `Gateway`. */ prefixListId: string | core.StringOut; /** * (Optional; AWS services and AWS Marketplace partner services only) Whether or not to associate a pri * vate hosted zone with the specified VPC. Applicable for endpoints of type `Interface`. */ privateDnsEnabled?: boolean | core.BooleanOut; /** * Whether or not the VPC Endpoint is being managed by its service - `true` or `false`. */ requesterManaged: boolean | core.BooleanOut; /** * (Optional) One or more route table IDs. Applicable for endpoints of type `Gateway`. */ routeTableIds?: core.Array | core.ArrayOut; /** * (Optional) The ID of one or more security groups to associate with the network interface. Applicable * for endpoints of type `Interface`. */ securityGroupIds?: core.Array | core.ArrayOut; /** * (Required) The service name. For AWS services the service name is usually in the form `com.amazonaws * ..` (the SageMaker Notebook service is an exception to this rule, the service name * is in the form `aws.sagemaker..notebook`). */ serviceName: string | core.StringOut; /** * The state of the VPC endpoint. */ state: string | core.StringOut; /** * (Optional) The ID of one or more subnets in which to create a network interface for the endpoint. Ap * plicable for endpoints of type `GatewayLoadBalancer` and `Interface`. */ subnetIds?: core.Array | core.ArrayOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ 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 VPC endpoint type, `Gateway`, `GatewayLoadBalancer`, or `Interface`. Defaults to `Gat * eway`. */ vpcEndpointType?: string | core.StringOut; /** * (Required) The ID of the VPC in which the endpoint will be used. */ vpcId: string | core.StringOut; constructor(name: string, args?: EndpointArgs); getNamespace(): string; } //# sourceMappingURL=endpoint.d.ts.map