github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/getVpcPeeringConnection.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package ec2 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // The VPC Peering Connection data source provides details about 15 // a specific VPC peering connection. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // // Declare the data source 33 // pc, err := ec2.LookupVpcPeeringConnection(ctx, &ec2.LookupVpcPeeringConnectionArgs{ 34 // VpcId: pulumi.StringRef(foo.Id), 35 // PeerCidrBlock: pulumi.StringRef("10.0.1.0/22"), 36 // }, nil) 37 // if err != nil { 38 // return err 39 // } 40 // // Create a route table 41 // rt, err := ec2.NewRouteTable(ctx, "rt", &ec2.RouteTableArgs{ 42 // VpcId: pulumi.Any(foo.Id), 43 // }) 44 // if err != nil { 45 // return err 46 // } 47 // // Create a route 48 // _, err = ec2.NewRoute(ctx, "r", &ec2.RouteArgs{ 49 // RouteTableId: rt.ID(), 50 // DestinationCidrBlock: pulumi.String(pc.PeerCidrBlock), 51 // VpcPeeringConnectionId: pulumi.String(pc.Id), 52 // }) 53 // if err != nil { 54 // return err 55 // } 56 // return nil 57 // }) 58 // } 59 // 60 // ``` 61 // <!--End PulumiCodeChooser --> 62 func LookupVpcPeeringConnection(ctx *pulumi.Context, args *LookupVpcPeeringConnectionArgs, opts ...pulumi.InvokeOption) (*LookupVpcPeeringConnectionResult, error) { 63 opts = internal.PkgInvokeDefaultOpts(opts) 64 var rv LookupVpcPeeringConnectionResult 65 err := ctx.Invoke("aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection", args, &rv, opts...) 66 if err != nil { 67 return nil, err 68 } 69 return &rv, nil 70 } 71 72 // A collection of arguments for invoking getVpcPeeringConnection. 73 type LookupVpcPeeringConnectionArgs struct { 74 // Primary CIDR block of the requester VPC of the specific VPC Peering Connection to retrieve. 75 CidrBlock *string `pulumi:"cidrBlock"` 76 // Custom filter block as described below. 77 Filters []GetVpcPeeringConnectionFilter `pulumi:"filters"` 78 // ID of the specific VPC Peering Connection to retrieve. 79 Id *string `pulumi:"id"` 80 // AWS account ID of the owner of the requester VPC of the specific VPC Peering Connection to retrieve. 81 OwnerId *string `pulumi:"ownerId"` 82 // Primary CIDR block of the accepter VPC of the specific VPC Peering Connection to retrieve. 83 PeerCidrBlock *string `pulumi:"peerCidrBlock"` 84 // AWS account ID of the owner of the accepter VPC of the specific VPC Peering Connection to retrieve. 85 PeerOwnerId *string `pulumi:"peerOwnerId"` 86 // Region of the accepter VPC of the specific VPC Peering Connection to retrieve. 87 PeerRegion *string `pulumi:"peerRegion"` 88 // ID of the accepter VPC of the specific VPC Peering Connection to retrieve. 89 PeerVpcId *string `pulumi:"peerVpcId"` 90 // Region of the requester VPC of the specific VPC Peering Connection to retrieve. 91 Region *string `pulumi:"region"` 92 // Status of the specific VPC Peering Connection to retrieve. 93 Status *string `pulumi:"status"` 94 // Map of tags, each pair of which must exactly match 95 // a pair on the desired VPC Peering Connection. 96 // 97 // More complex filters can be expressed using one or more `filter` sub-blocks, 98 // which take the following arguments: 99 Tags map[string]string `pulumi:"tags"` 100 // ID of the requester VPC of the specific VPC Peering Connection to retrieve. 101 VpcId *string `pulumi:"vpcId"` 102 } 103 104 // A collection of values returned by getVpcPeeringConnection. 105 type LookupVpcPeeringConnectionResult struct { 106 // Configuration block that describes [VPC Peering Connection] 107 // (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the accepter VPC. 108 Accepter map[string]bool `pulumi:"accepter"` 109 // CIDR block associated to the VPC of the specific VPC Peering Connection. 110 CidrBlock string `pulumi:"cidrBlock"` 111 // List of objects with IPv4 CIDR blocks of the requester VPC. 112 CidrBlockSets []GetVpcPeeringConnectionCidrBlockSet `pulumi:"cidrBlockSets"` 113 Filters []GetVpcPeeringConnectionFilter `pulumi:"filters"` 114 Id string `pulumi:"id"` 115 // List of objects with IPv6 CIDR blocks of the requester VPC. 116 Ipv6CidrBlockSets []GetVpcPeeringConnectionIpv6CidrBlockSet `pulumi:"ipv6CidrBlockSets"` 117 OwnerId string `pulumi:"ownerId"` 118 PeerCidrBlock string `pulumi:"peerCidrBlock"` 119 // List of objects with IPv4 CIDR blocks of the accepter VPC. 120 PeerCidrBlockSets []GetVpcPeeringConnectionPeerCidrBlockSet `pulumi:"peerCidrBlockSets"` 121 // List of objects with IPv6 CIDR blocks of the accepter VPC. 122 PeerIpv6CidrBlockSets []GetVpcPeeringConnectionPeerIpv6CidrBlockSet `pulumi:"peerIpv6CidrBlockSets"` 123 PeerOwnerId string `pulumi:"peerOwnerId"` 124 PeerRegion string `pulumi:"peerRegion"` 125 PeerVpcId string `pulumi:"peerVpcId"` 126 Region string `pulumi:"region"` 127 // Configuration block that describes [VPC Peering Connection] 128 // (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the requester VPC. 129 Requester map[string]bool `pulumi:"requester"` 130 Status string `pulumi:"status"` 131 Tags map[string]string `pulumi:"tags"` 132 VpcId string `pulumi:"vpcId"` 133 } 134 135 func LookupVpcPeeringConnectionOutput(ctx *pulumi.Context, args LookupVpcPeeringConnectionOutputArgs, opts ...pulumi.InvokeOption) LookupVpcPeeringConnectionResultOutput { 136 return pulumi.ToOutputWithContext(context.Background(), args). 137 ApplyT(func(v interface{}) (LookupVpcPeeringConnectionResult, error) { 138 args := v.(LookupVpcPeeringConnectionArgs) 139 r, err := LookupVpcPeeringConnection(ctx, &args, opts...) 140 var s LookupVpcPeeringConnectionResult 141 if r != nil { 142 s = *r 143 } 144 return s, err 145 }).(LookupVpcPeeringConnectionResultOutput) 146 } 147 148 // A collection of arguments for invoking getVpcPeeringConnection. 149 type LookupVpcPeeringConnectionOutputArgs struct { 150 // Primary CIDR block of the requester VPC of the specific VPC Peering Connection to retrieve. 151 CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"` 152 // Custom filter block as described below. 153 Filters GetVpcPeeringConnectionFilterArrayInput `pulumi:"filters"` 154 // ID of the specific VPC Peering Connection to retrieve. 155 Id pulumi.StringPtrInput `pulumi:"id"` 156 // AWS account ID of the owner of the requester VPC of the specific VPC Peering Connection to retrieve. 157 OwnerId pulumi.StringPtrInput `pulumi:"ownerId"` 158 // Primary CIDR block of the accepter VPC of the specific VPC Peering Connection to retrieve. 159 PeerCidrBlock pulumi.StringPtrInput `pulumi:"peerCidrBlock"` 160 // AWS account ID of the owner of the accepter VPC of the specific VPC Peering Connection to retrieve. 161 PeerOwnerId pulumi.StringPtrInput `pulumi:"peerOwnerId"` 162 // Region of the accepter VPC of the specific VPC Peering Connection to retrieve. 163 PeerRegion pulumi.StringPtrInput `pulumi:"peerRegion"` 164 // ID of the accepter VPC of the specific VPC Peering Connection to retrieve. 165 PeerVpcId pulumi.StringPtrInput `pulumi:"peerVpcId"` 166 // Region of the requester VPC of the specific VPC Peering Connection to retrieve. 167 Region pulumi.StringPtrInput `pulumi:"region"` 168 // Status of the specific VPC Peering Connection to retrieve. 169 Status pulumi.StringPtrInput `pulumi:"status"` 170 // Map of tags, each pair of which must exactly match 171 // a pair on the desired VPC Peering Connection. 172 // 173 // More complex filters can be expressed using one or more `filter` sub-blocks, 174 // which take the following arguments: 175 Tags pulumi.StringMapInput `pulumi:"tags"` 176 // ID of the requester VPC of the specific VPC Peering Connection to retrieve. 177 VpcId pulumi.StringPtrInput `pulumi:"vpcId"` 178 } 179 180 func (LookupVpcPeeringConnectionOutputArgs) ElementType() reflect.Type { 181 return reflect.TypeOf((*LookupVpcPeeringConnectionArgs)(nil)).Elem() 182 } 183 184 // A collection of values returned by getVpcPeeringConnection. 185 type LookupVpcPeeringConnectionResultOutput struct{ *pulumi.OutputState } 186 187 func (LookupVpcPeeringConnectionResultOutput) ElementType() reflect.Type { 188 return reflect.TypeOf((*LookupVpcPeeringConnectionResult)(nil)).Elem() 189 } 190 191 func (o LookupVpcPeeringConnectionResultOutput) ToLookupVpcPeeringConnectionResultOutput() LookupVpcPeeringConnectionResultOutput { 192 return o 193 } 194 195 func (o LookupVpcPeeringConnectionResultOutput) ToLookupVpcPeeringConnectionResultOutputWithContext(ctx context.Context) LookupVpcPeeringConnectionResultOutput { 196 return o 197 } 198 199 // Configuration block that describes [VPC Peering Connection] 200 // (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the accepter VPC. 201 func (o LookupVpcPeeringConnectionResultOutput) Accepter() pulumi.BoolMapOutput { 202 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) map[string]bool { return v.Accepter }).(pulumi.BoolMapOutput) 203 } 204 205 // CIDR block associated to the VPC of the specific VPC Peering Connection. 206 func (o LookupVpcPeeringConnectionResultOutput) CidrBlock() pulumi.StringOutput { 207 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) string { return v.CidrBlock }).(pulumi.StringOutput) 208 } 209 210 // List of objects with IPv4 CIDR blocks of the requester VPC. 211 func (o LookupVpcPeeringConnectionResultOutput) CidrBlockSets() GetVpcPeeringConnectionCidrBlockSetArrayOutput { 212 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) []GetVpcPeeringConnectionCidrBlockSet { return v.CidrBlockSets }).(GetVpcPeeringConnectionCidrBlockSetArrayOutput) 213 } 214 215 func (o LookupVpcPeeringConnectionResultOutput) Filters() GetVpcPeeringConnectionFilterArrayOutput { 216 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) []GetVpcPeeringConnectionFilter { return v.Filters }).(GetVpcPeeringConnectionFilterArrayOutput) 217 } 218 219 func (o LookupVpcPeeringConnectionResultOutput) Id() pulumi.StringOutput { 220 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) string { return v.Id }).(pulumi.StringOutput) 221 } 222 223 // List of objects with IPv6 CIDR blocks of the requester VPC. 224 func (o LookupVpcPeeringConnectionResultOutput) Ipv6CidrBlockSets() GetVpcPeeringConnectionIpv6CidrBlockSetArrayOutput { 225 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) []GetVpcPeeringConnectionIpv6CidrBlockSet { 226 return v.Ipv6CidrBlockSets 227 }).(GetVpcPeeringConnectionIpv6CidrBlockSetArrayOutput) 228 } 229 230 func (o LookupVpcPeeringConnectionResultOutput) OwnerId() pulumi.StringOutput { 231 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) string { return v.OwnerId }).(pulumi.StringOutput) 232 } 233 234 func (o LookupVpcPeeringConnectionResultOutput) PeerCidrBlock() pulumi.StringOutput { 235 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) string { return v.PeerCidrBlock }).(pulumi.StringOutput) 236 } 237 238 // List of objects with IPv4 CIDR blocks of the accepter VPC. 239 func (o LookupVpcPeeringConnectionResultOutput) PeerCidrBlockSets() GetVpcPeeringConnectionPeerCidrBlockSetArrayOutput { 240 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) []GetVpcPeeringConnectionPeerCidrBlockSet { 241 return v.PeerCidrBlockSets 242 }).(GetVpcPeeringConnectionPeerCidrBlockSetArrayOutput) 243 } 244 245 // List of objects with IPv6 CIDR blocks of the accepter VPC. 246 func (o LookupVpcPeeringConnectionResultOutput) PeerIpv6CidrBlockSets() GetVpcPeeringConnectionPeerIpv6CidrBlockSetArrayOutput { 247 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) []GetVpcPeeringConnectionPeerIpv6CidrBlockSet { 248 return v.PeerIpv6CidrBlockSets 249 }).(GetVpcPeeringConnectionPeerIpv6CidrBlockSetArrayOutput) 250 } 251 252 func (o LookupVpcPeeringConnectionResultOutput) PeerOwnerId() pulumi.StringOutput { 253 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) string { return v.PeerOwnerId }).(pulumi.StringOutput) 254 } 255 256 func (o LookupVpcPeeringConnectionResultOutput) PeerRegion() pulumi.StringOutput { 257 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) string { return v.PeerRegion }).(pulumi.StringOutput) 258 } 259 260 func (o LookupVpcPeeringConnectionResultOutput) PeerVpcId() pulumi.StringOutput { 261 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) string { return v.PeerVpcId }).(pulumi.StringOutput) 262 } 263 264 func (o LookupVpcPeeringConnectionResultOutput) Region() pulumi.StringOutput { 265 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) string { return v.Region }).(pulumi.StringOutput) 266 } 267 268 // Configuration block that describes [VPC Peering Connection] 269 // (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the requester VPC. 270 func (o LookupVpcPeeringConnectionResultOutput) Requester() pulumi.BoolMapOutput { 271 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) map[string]bool { return v.Requester }).(pulumi.BoolMapOutput) 272 } 273 274 func (o LookupVpcPeeringConnectionResultOutput) Status() pulumi.StringOutput { 275 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) string { return v.Status }).(pulumi.StringOutput) 276 } 277 278 func (o LookupVpcPeeringConnectionResultOutput) Tags() pulumi.StringMapOutput { 279 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) 280 } 281 282 func (o LookupVpcPeeringConnectionResultOutput) VpcId() pulumi.StringOutput { 283 return o.ApplyT(func(v LookupVpcPeeringConnectionResult) string { return v.VpcId }).(pulumi.StringOutput) 284 } 285 286 func init() { 287 pulumi.RegisterOutputType(LookupVpcPeeringConnectionResultOutput{}) 288 }