UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

248 lines (247 loc) 7.76 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * The VPC Endpoint Service data source details about a specific service that * can be specified when creating a VPC endpoint within the region configured in the provider. * * ## Example Usage * * ### AWS Service * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * // Declare the data source * const s3 = aws.ec2.getVpcEndpointService({ * service: "s3", * serviceType: "Gateway", * }); * // Create a VPC * const foo = new aws.ec2.Vpc("foo", {cidrBlock: "10.0.0.0/16"}); * // Create a VPC endpoint * const ep = new aws.ec2.VpcEndpoint("ep", { * vpcId: foo.id, * serviceName: s3.then(s3 => s3.serviceName), * }); * ``` * * ### Non-AWS Service * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const custome = aws.ec2.getVpcEndpointService({ * serviceName: "com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8", * }); * ``` * * ### Filter * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const test = aws.ec2.getVpcEndpointService({ * filters: [{ * name: "service-name", * values: ["some-service"], * }], * }); * ``` */ export declare function getVpcEndpointService(args?: GetVpcEndpointServiceArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcEndpointServiceResult>; /** * A collection of arguments for invoking getVpcEndpointService. */ export interface GetVpcEndpointServiceArgs { /** * Configuration block(s) for filtering. Detailed below. */ filters?: inputs.ec2.GetVpcEndpointServiceFilter[]; /** * Common name of an AWS service (e.g., `s3`). */ service?: string; /** * Service name that is specified when creating a VPC endpoint. 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; /** * AWS regions in which to look for services. */ serviceRegions?: string[]; /** * Service type, `Gateway` or `Interface`. */ serviceType?: string; /** * Map of tags, each pair of which must exactly match a pair on the desired VPC Endpoint Service. * * > **NOTE:** Specifying `service` will not work for non-AWS services or AWS services that don't follow the standard `serviceName` pattern of `com.amazonaws.<region>.<service>`. */ tags?: { [key: string]: string; }; } /** * A collection of values returned by getVpcEndpointService. */ export interface GetVpcEndpointServiceResult { /** * Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - `true` or `false`. */ readonly acceptanceRequired: boolean; /** * ARN of the VPC endpoint service. */ readonly arn: string; /** * Availability Zones in which the service is available. Not available for endpoint services in other regions. */ readonly availabilityZones: string[]; /** * The DNS names for the service. */ readonly baseEndpointDnsNames: string[]; readonly filters?: outputs.ec2.GetVpcEndpointServiceFilter[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * Whether or not the service manages its VPC endpoints - `true` or `false`. */ readonly managesVpcEndpoints: boolean; /** * AWS account ID of the service owner or `amazon`. */ readonly owner: string; /** * Private DNS name for the service. */ readonly privateDnsName: string; /** * Private DNS names assigned to the VPC endpoint service. */ readonly privateDnsNames: string[]; /** * (**Deprecated**) Region of the endpoint service. Use `serviceRegion` instead. * * @deprecated region is deprecated. Use serviceRegion instead. */ readonly region: string; readonly service?: string; /** * ID of the endpoint service. */ readonly serviceId: string; readonly serviceName: string; /** * Region of the endpoint service. */ readonly serviceRegion: string; readonly serviceRegions?: string[]; readonly serviceType: string; /** * The supported IP address types. */ readonly supportedIpAddressTypes: string[]; /** * Map of tags assigned to the resource. */ readonly tags: { [key: string]: string; }; /** * Whether or not the service supports endpoint policies - `true` or `false`. */ readonly vpcEndpointPolicySupported: boolean; } /** * The VPC Endpoint Service data source details about a specific service that * can be specified when creating a VPC endpoint within the region configured in the provider. * * ## Example Usage * * ### AWS Service * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * // Declare the data source * const s3 = aws.ec2.getVpcEndpointService({ * service: "s3", * serviceType: "Gateway", * }); * // Create a VPC * const foo = new aws.ec2.Vpc("foo", {cidrBlock: "10.0.0.0/16"}); * // Create a VPC endpoint * const ep = new aws.ec2.VpcEndpoint("ep", { * vpcId: foo.id, * serviceName: s3.then(s3 => s3.serviceName), * }); * ``` * * ### Non-AWS Service * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const custome = aws.ec2.getVpcEndpointService({ * serviceName: "com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8", * }); * ``` * * ### Filter * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const test = aws.ec2.getVpcEndpointService({ * filters: [{ * name: "service-name", * values: ["some-service"], * }], * }); * ``` */ export declare function getVpcEndpointServiceOutput(args?: GetVpcEndpointServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVpcEndpointServiceResult>; /** * A collection of arguments for invoking getVpcEndpointService. */ export interface GetVpcEndpointServiceOutputArgs { /** * Configuration block(s) for filtering. Detailed below. */ filters?: pulumi.Input<pulumi.Input<inputs.ec2.GetVpcEndpointServiceFilterArgs>[]>; /** * Common name of an AWS service (e.g., `s3`). */ service?: pulumi.Input<string>; /** * Service name that is specified when creating a VPC endpoint. 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>; /** * AWS regions in which to look for services. */ serviceRegions?: pulumi.Input<pulumi.Input<string>[]>; /** * Service type, `Gateway` or `Interface`. */ serviceType?: pulumi.Input<string>; /** * Map of tags, each pair of which must exactly match a pair on the desired VPC Endpoint Service. * * > **NOTE:** Specifying `service` will not work for non-AWS services or AWS services that don't follow the standard `serviceName` pattern of `com.amazonaws.<region>.<service>`. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; }