Package com.pulumi.aws.ec2
Class VpcPeeringConnectionAccepter
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.ec2.VpcPeeringConnectionAccepter
-
public class VpcPeeringConnectionAccepter extends com.pulumi.resources.CustomResourceProvides a resource to manage the accepter's side of a VPC Peering Connection. When a cross-account (requester's AWS account differs from the accepter's AWS account) or an inter-region VPC Peering Connection is created, a VPC Peering Connection resource is automatically created in the accepter's account. The requester can use the `aws.ec2.VpcPeeringConnection` resource to manage its side of the connection and the accepter can use the `aws.ec2.VpcPeeringConnectionAccepter` resource to "adopt" its side of the connection into management. > **Note:** AWS allows a cross-account VPC Peering Connection to be deleted from either the requester's or accepter's side. However, this provider only allows the VPC Peering Connection to be deleted from the requester's side by removing the corresponding `aws.ec2.VpcPeeringConnection` resource from your configuration. Removing a `aws.ec2.VpcPeeringConnectionAccepter` resource from your configuration will remove it from your statefile and management, **but will not destroy the VPC Peering Connection.** ## Example Usage ### Cross-Account Peering Or Cross-Region Peering AWS Provider v6 (and below)
### Cross-Region Peering (Same Account) AWS Provider v7 (and above)package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ec2.Vpc; import com.pulumi.aws.ec2.VpcArgs; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.ec2.VpcPeeringConnection; import com.pulumi.aws.ec2.VpcPeeringConnectionArgs; import com.pulumi.aws.ec2.VpcPeeringConnectionAccepter; import com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var main = new Vpc("main", VpcArgs.builder() .cidrBlock("10.0.0.0/16") .build()); var peerVpc = new Vpc("peerVpc", VpcArgs.builder() .cidrBlock("10.1.0.0/16") .build()); final var peer = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); // Requester's side of the connection. var peerVpcPeeringConnection = new VpcPeeringConnection("peerVpcPeeringConnection", VpcPeeringConnectionArgs.builder() .vpcId(main.id()) .peerVpcId(peerVpc.id()) .peerOwnerId(peer.accountId()) .peerRegion("us-west-2") .autoAccept(false) .tags(Map.of("Side", "Requester")) .build()); // Accepter's side of the connection. var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter("peerVpcPeeringConnectionAccepter", VpcPeeringConnectionAccepterArgs.builder() .vpcPeeringConnectionId(peerVpcPeeringConnection.id()) .autoAccept(true) .tags(Map.of("Side", "Accepter")) .build()); } }
## Import Using `pulumi import`, import VPC Peering Connection Accepters using the Peering Connection ID. For example: ```sh $ pulumi import aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter example pcx-12345678 ``` Certain resource arguments, like `autoAccept`, do not have an EC2 API method for reading the information after peering connection creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignoreChanges` to hide the difference. For example:package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ec2.Vpc; import com.pulumi.aws.ec2.VpcArgs; import com.pulumi.aws.ec2.VpcPeeringConnection; import com.pulumi.aws.ec2.VpcPeeringConnectionArgs; import com.pulumi.aws.ec2.VpcPeeringConnectionAccepter; import com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var main = new Vpc("main", VpcArgs.builder() .cidrBlock("10.0.0.0/16") .build()); var peer = new Vpc("peer", VpcArgs.builder() .region("us-west-2") .cidrBlock("10.1.0.0/16") .build()); // Requester's side of the connection. var peerVpcPeeringConnection = new VpcPeeringConnection("peerVpcPeeringConnection", VpcPeeringConnectionArgs.builder() .vpcId(main.id()) .peerVpcId(peer.id()) .peerRegion("us-west-2") .autoAccept(false) .tags(Map.of("Side", "Requester")) .build()); // Accepter's side of the connection. var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter("peerVpcPeeringConnectionAccepter", VpcPeeringConnectionAccepterArgs.builder() .region("us-west-2") .vpcPeeringConnectionId(peerVpcPeeringConnection.id()) .autoAccept(true) .tags(Map.of("Side", "Accepter")) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ec2.VpcPeeringConnectionAccepter; import com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs; import com.pulumi.resources.CustomResourceOptions; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new VpcPeeringConnectionAccepter("example", VpcPeeringConnectionAccepterArgs.Empty, CustomResourceOptions.builder() .ignoreChanges("autoAccept") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description VpcPeeringConnectionAccepter(java.lang.String name)VpcPeeringConnectionAccepter(java.lang.String name, VpcPeeringConnectionAccepterArgs args)VpcPeeringConnectionAccepter(java.lang.String name, VpcPeeringConnectionAccepterArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<VpcPeeringConnectionAccepterAccepter>accepter()com.pulumi.core.Output<java.lang.String>acceptStatus()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>autoAccept()static VpcPeeringConnectionAccepterget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, VpcPeeringConnectionAccepterState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>peerOwnerId()com.pulumi.core.Output<java.lang.String>peerRegion()com.pulumi.core.Output<java.lang.String>peerVpcId()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<VpcPeeringConnectionAccepterRequester>requester()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.lang.String>vpcId()com.pulumi.core.Output<java.lang.String>vpcPeeringConnectionId()
-
-
-
Constructor Detail
-
VpcPeeringConnectionAccepter
public VpcPeeringConnectionAccepter(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
VpcPeeringConnectionAccepter
public VpcPeeringConnectionAccepter(java.lang.String name, VpcPeeringConnectionAccepterArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
VpcPeeringConnectionAccepter
public VpcPeeringConnectionAccepter(java.lang.String name, VpcPeeringConnectionAccepterArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
acceptStatus
public com.pulumi.core.Output<java.lang.String> acceptStatus()
- Returns:
- Status of the VPC Peering Connection request.
-
accepter
public com.pulumi.core.Output<VpcPeeringConnectionAccepterAccepter> accepter()
- Returns:
- Configuration block for [VPC Peering Connection](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options to set for the VPC that accepts the peering connection (a maximum of one). See `accepter` Block below.
-
autoAccept
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> autoAccept()
- Returns:
- Whether or not to accept the peering request. Defaults to `false`.
-
peerOwnerId
public com.pulumi.core.Output<java.lang.String> peerOwnerId()
- Returns:
- AWS account ID of the owner of the requester VPC.
-
peerRegion
public com.pulumi.core.Output<java.lang.String> peerRegion()
- Returns:
- Region of the accepter VPC.
-
peerVpcId
public com.pulumi.core.Output<java.lang.String> peerVpcId()
- Returns:
- ID of the requester VPC.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- 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.
-
requester
public com.pulumi.core.Output<VpcPeeringConnectionAccepterRequester> requester()
- Returns:
- Configuration block for [VPC Peering Connection](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options to set for the VPC that requests the peering connection (a maximum of one). See `requester` Block below.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
vpcId
public com.pulumi.core.Output<java.lang.String> vpcId()
- Returns:
- ID of the accepter VPC.
-
vpcPeeringConnectionId
public com.pulumi.core.Output<java.lang.String> vpcPeeringConnectionId()
- Returns:
- VPC Peering Connection ID to manage.
-
get
public static VpcPeeringConnectionAccepter get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable VpcPeeringConnectionAccepterState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-