@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
197 lines (196 loc) • 7.01 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* The VPC Endpoint data source provides details about
* a specific VPC endpoint.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* // Declare the data source
* const s3 = aws.ec2.getVpcEndpoint({
* vpcId: foo.id,
* serviceName: "com.amazonaws.us-west-2.s3",
* });
* const privateS3 = new aws.ec2.VpcEndpointRouteTableAssociation("private_s3", {
* vpcEndpointId: s3.then(s3 => s3.id),
* routeTableId: _private.id,
* });
* ```
*/
export declare function getVpcEndpoint(args?: GetVpcEndpointArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcEndpointResult>;
/**
* A collection of arguments for invoking getVpcEndpoint.
*/
export interface GetVpcEndpointArgs {
/**
* Custom filter block as described below.
*/
filters?: inputs.ec2.GetVpcEndpointFilter[];
/**
* ID of the specific VPC Endpoint to retrieve.
*/
id?: string;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: string;
/**
* Service name of the specific VPC Endpoint to retrieve. For AWS services the service name is usually in the form `com.amazonaws.<region>.<service>` (the SageMaker AI Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker.<region>.notebook`).
*/
serviceName?: string;
/**
* State of the specific VPC Endpoint to retrieve.
*/
state?: string;
/**
* Map of tags, each pair of which must exactly match
* a pair on the specific VPC Endpoint to retrieve.
*/
tags?: {
[key: string]: string;
};
/**
* ID of the VPC in which the specific VPC Endpoint is used.
*
* The arguments of this data source act as filters for querying the available VPC endpoints.
* The given filters must match exactly one VPC endpoint whose data will be exported as attributes.
*/
vpcId?: string;
}
/**
* A collection of values returned by getVpcEndpoint.
*/
export interface GetVpcEndpointResult {
/**
* ARN of the VPC endpoint.
*/
readonly arn: string;
/**
* List of CIDR blocks for the exposed AWS service. Applicable for endpoints of type `Gateway`.
*/
readonly cidrBlocks: string[];
/**
* DNS entries for the VPC Endpoint. Applicable for endpoints of type `Interface`. DNS entry blocks are documented below.
*/
readonly dnsEntries: outputs.ec2.GetVpcEndpointDnsEntry[];
/**
* DNS options for the VPC Endpoint. DNS options blocks are documented below.
*/
readonly dnsOptions: outputs.ec2.GetVpcEndpointDnsOption[];
readonly filters?: outputs.ec2.GetVpcEndpointFilter[];
readonly id: string;
readonly ipAddressType: string;
/**
* One or more network interfaces for the VPC Endpoint. Applicable for endpoints of type `Interface`.
*/
readonly networkInterfaceIds: string[];
/**
* ID of the AWS account that owns the VPC endpoint.
*/
readonly ownerId: string;
/**
* Policy document associated with the VPC Endpoint. Applicable for endpoints of type `Gateway`.
*/
readonly policy: string;
/**
* Prefix list ID of the exposed AWS service. Applicable for endpoints of type `Gateway`.
*/
readonly prefixListId: string;
/**
* Whether or not the VPC is associated with a private hosted zone - `true` or `false`. Applicable for endpoints of type `Interface`.
*/
readonly privateDnsEnabled: boolean;
readonly region: string;
/**
* Whether or not the VPC Endpoint is being managed by its service - `true` or `false`.
*/
readonly requesterManaged: boolean;
/**
* One or more route tables associated with the VPC Endpoint. Applicable for endpoints of type `Gateway`.
*/
readonly routeTableIds: string[];
/**
* One or more security groups associated with the network interfaces. Applicable for endpoints of type `Interface`.
*/
readonly securityGroupIds: string[];
readonly serviceName: string;
readonly state: string;
/**
* One or more subnets in which the VPC Endpoint is located. Applicable for endpoints of type `Interface`.
*/
readonly subnetIds: string[];
readonly tags: {
[key: string]: string;
};
/**
* VPC Endpoint type, `Gateway` or `Interface`.
*/
readonly vpcEndpointType: string;
readonly vpcId: string;
}
/**
* The VPC Endpoint data source provides details about
* a specific VPC endpoint.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* // Declare the data source
* const s3 = aws.ec2.getVpcEndpoint({
* vpcId: foo.id,
* serviceName: "com.amazonaws.us-west-2.s3",
* });
* const privateS3 = new aws.ec2.VpcEndpointRouteTableAssociation("private_s3", {
* vpcEndpointId: s3.then(s3 => s3.id),
* routeTableId: _private.id,
* });
* ```
*/
export declare function getVpcEndpointOutput(args?: GetVpcEndpointOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVpcEndpointResult>;
/**
* A collection of arguments for invoking getVpcEndpoint.
*/
export interface GetVpcEndpointOutputArgs {
/**
* Custom filter block as described below.
*/
filters?: pulumi.Input<pulumi.Input<inputs.ec2.GetVpcEndpointFilterArgs>[]>;
/**
* ID of the specific VPC Endpoint to retrieve.
*/
id?: pulumi.Input<string>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* Service name of the specific VPC Endpoint to retrieve. For AWS services the service name is usually in the form `com.amazonaws.<region>.<service>` (the SageMaker AI Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker.<region>.notebook`).
*/
serviceName?: pulumi.Input<string>;
/**
* State of the specific VPC Endpoint to retrieve.
*/
state?: pulumi.Input<string>;
/**
* Map of tags, each pair of which must exactly match
* a pair on the specific VPC Endpoint to retrieve.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* ID of the VPC in which the specific VPC Endpoint is used.
*
* The arguments of this data source act as filters for querying the available VPC endpoints.
* The given filters must match exactly one VPC endpoint whose data will be exported as attributes.
*/
vpcId?: pulumi.Input<string>;
}