@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
145 lines (144 loc) • 4.94 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Get information on an EC2 Transit Gateway VPN Attachment.
*
* > EC2 Transit Gateway VPN Attachments are implicitly created by VPN Connections referencing an EC2 Transit Gateway so there is no managed resource. For ease, the `aws.ec2.VpnConnection` resource includes a `transitGatewayAttachmentId` attribute which can replace some usage of this data source. For tagging the attachment, see the `aws.ec2.Tag` resource.
*
* ## Example Usage
*
* ### By Transit Gateway and VPN Connection Identifiers
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = aws.ec2transitgateway.getVpnAttachment({
* transitGatewayId: exampleAwsEc2TransitGateway.id,
* vpnConnectionId: exampleAwsVpnConnection.id,
* });
* ```
*
* ### Filter
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const test = aws.ec2transitgateway.getVpnAttachment({
* filters: [{
* name: "resource-id",
* values: ["some-resource"],
* }],
* });
* ```
*/
export declare function getVpnAttachment(args?: GetVpnAttachmentArgs, opts?: pulumi.InvokeOptions): Promise<GetVpnAttachmentResult>;
/**
* A collection of arguments for invoking getVpnAttachment.
*/
export interface GetVpnAttachmentArgs {
/**
* Configuration block(s) for filtering. Detailed below.
*/
filters?: inputs.ec2transitgateway.GetVpnAttachmentFilter[];
/**
* 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;
/**
* Map of tags, each pair of which must exactly match a pair on the desired Transit Gateway VPN Attachment.
*/
tags?: {
[key: string]: string;
};
/**
* Identifier of the EC2 Transit Gateway.
*/
transitGatewayId?: string;
/**
* Identifier of the EC2 VPN Connection.
*/
vpnConnectionId?: string;
}
/**
* A collection of values returned by getVpnAttachment.
*/
export interface GetVpnAttachmentResult {
readonly filters?: outputs.ec2transitgateway.GetVpnAttachmentFilter[];
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
readonly region: string;
/**
* Key-value tags for the EC2 Transit Gateway VPN Attachment
*/
readonly tags: {
[key: string]: string;
};
readonly transitGatewayId?: string;
readonly vpnConnectionId?: string;
}
/**
* Get information on an EC2 Transit Gateway VPN Attachment.
*
* > EC2 Transit Gateway VPN Attachments are implicitly created by VPN Connections referencing an EC2 Transit Gateway so there is no managed resource. For ease, the `aws.ec2.VpnConnection` resource includes a `transitGatewayAttachmentId` attribute which can replace some usage of this data source. For tagging the attachment, see the `aws.ec2.Tag` resource.
*
* ## Example Usage
*
* ### By Transit Gateway and VPN Connection Identifiers
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = aws.ec2transitgateway.getVpnAttachment({
* transitGatewayId: exampleAwsEc2TransitGateway.id,
* vpnConnectionId: exampleAwsVpnConnection.id,
* });
* ```
*
* ### Filter
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const test = aws.ec2transitgateway.getVpnAttachment({
* filters: [{
* name: "resource-id",
* values: ["some-resource"],
* }],
* });
* ```
*/
export declare function getVpnAttachmentOutput(args?: GetVpnAttachmentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVpnAttachmentResult>;
/**
* A collection of arguments for invoking getVpnAttachment.
*/
export interface GetVpnAttachmentOutputArgs {
/**
* Configuration block(s) for filtering. Detailed below.
*/
filters?: pulumi.Input<pulumi.Input<inputs.ec2transitgateway.GetVpnAttachmentFilterArgs>[]>;
/**
* 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>;
/**
* Map of tags, each pair of which must exactly match a pair on the desired Transit Gateway VPN Attachment.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Identifier of the EC2 Transit Gateway.
*/
transitGatewayId?: pulumi.Input<string>;
/**
* Identifier of the EC2 VPN Connection.
*/
vpnConnectionId?: pulumi.Input<string>;
}