Merge branch 'paybyphone-paybyphone_GH_6396'
This commit is contained in:
commit
7e89c1d3a2
|
@ -2,7 +2,6 @@ package aws
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/aws"
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
|
@ -241,17 +240,12 @@ func TestAccAWSRouteTable_vpcPeering(t *testing.T) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
resource.Test(t, resource.TestCase{
|
resource.Test(t, resource.TestCase{
|
||||||
PreCheck: func() {
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
testAccPreCheck(t)
|
|
||||||
if os.Getenv("AWS_ACCOUNT_ID") == "" {
|
|
||||||
t.Fatal("Error: Test TestAccAWSRouteTable_vpcPeering requires an Account ID in AWS_ACCOUNT_ID ")
|
|
||||||
}
|
|
||||||
},
|
|
||||||
Providers: testAccProviders,
|
Providers: testAccProviders,
|
||||||
CheckDestroy: testAccCheckRouteTableDestroy,
|
CheckDestroy: testAccCheckRouteTableDestroy,
|
||||||
Steps: []resource.TestStep{
|
Steps: []resource.TestStep{
|
||||||
resource.TestStep{
|
resource.TestStep{
|
||||||
Config: testAccRouteTableVpcPeeringConfig(os.Getenv("AWS_ACCOUNT_ID")),
|
Config: testAccRouteTableVpcPeeringConfig,
|
||||||
Check: resource.ComposeTestCheckFunc(
|
Check: resource.ComposeTestCheckFunc(
|
||||||
testAccCheckRouteTableExists(
|
testAccCheckRouteTableExists(
|
||||||
"aws_route_table.foo", &v),
|
"aws_route_table.foo", &v),
|
||||||
|
@ -404,9 +398,8 @@ resource "aws_route_table" "foo" {
|
||||||
`
|
`
|
||||||
|
|
||||||
// VPC Peering connections are prefixed with pcx
|
// VPC Peering connections are prefixed with pcx
|
||||||
// This test requires an ENV var, AWS_ACCOUNT_ID, with a valid AWS Account ID
|
const testAccRouteTableVpcPeeringConfig = `
|
||||||
func testAccRouteTableVpcPeeringConfig(acc string) string {
|
resource "aws_vpc" "foo" {
|
||||||
cfg := `resource "aws_vpc" "foo" {
|
|
||||||
cidr_block = "10.1.0.0/16"
|
cidr_block = "10.1.0.0/16"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -425,7 +418,6 @@ resource "aws_internet_gateway" "bar" {
|
||||||
resource "aws_vpc_peering_connection" "foo" {
|
resource "aws_vpc_peering_connection" "foo" {
|
||||||
vpc_id = "${aws_vpc.foo.id}"
|
vpc_id = "${aws_vpc.foo.id}"
|
||||||
peer_vpc_id = "${aws_vpc.bar.id}"
|
peer_vpc_id = "${aws_vpc.bar.id}"
|
||||||
peer_owner_id = "%s"
|
|
||||||
tags {
|
tags {
|
||||||
foo = "bar"
|
foo = "bar"
|
||||||
}
|
}
|
||||||
|
@ -440,8 +432,6 @@ resource "aws_route_table" "foo" {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
return fmt.Sprintf(cfg, acc)
|
|
||||||
}
|
|
||||||
|
|
||||||
const testAccRouteTableVgwRoutePropagationConfig = `
|
const testAccRouteTableVgwRoutePropagationConfig = `
|
||||||
resource "aws_vpc" "foo" {
|
resource "aws_vpc" "foo" {
|
||||||
|
|
|
@ -26,9 +26,9 @@ func resourceAwsVpcPeeringConnection() *schema.Resource {
|
||||||
Schema: map[string]*schema.Schema{
|
Schema: map[string]*schema.Schema{
|
||||||
"peer_owner_id": &schema.Schema{
|
"peer_owner_id": &schema.Schema{
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Optional: true,
|
||||||
ForceNew: true,
|
ForceNew: true,
|
||||||
DefaultFunc: schema.EnvDefaultFunc("AWS_ACCOUNT_ID", nil),
|
Computed: true,
|
||||||
},
|
},
|
||||||
"peer_vpc_id": &schema.Schema{
|
"peer_vpc_id": &schema.Schema{
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
|
@ -60,10 +60,14 @@ func resourceAwsVPCPeeringCreate(d *schema.ResourceData, meta interface{}) error
|
||||||
|
|
||||||
// Create the vpc peering connection
|
// Create the vpc peering connection
|
||||||
createOpts := &ec2.CreateVpcPeeringConnectionInput{
|
createOpts := &ec2.CreateVpcPeeringConnectionInput{
|
||||||
PeerOwnerId: aws.String(d.Get("peer_owner_id").(string)),
|
|
||||||
PeerVpcId: aws.String(d.Get("peer_vpc_id").(string)),
|
PeerVpcId: aws.String(d.Get("peer_vpc_id").(string)),
|
||||||
VpcId: aws.String(d.Get("vpc_id").(string)),
|
VpcId: aws.String(d.Get("vpc_id").(string)),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if v, ok := d.GetOk("peer_owner_id"); ok {
|
||||||
|
createOpts.PeerOwnerId = aws.String(v.(string))
|
||||||
|
}
|
||||||
|
|
||||||
log.Printf("[DEBUG] VPC Peering Create options: %#v", createOpts)
|
log.Printf("[DEBUG] VPC Peering Create options: %#v", createOpts)
|
||||||
|
|
||||||
resp, err := conn.CreateVpcPeeringConnection(createOpts)
|
resp, err := conn.CreateVpcPeeringConnection(createOpts)
|
||||||
|
|
|
@ -3,7 +3,6 @@ package aws
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
@ -17,13 +16,7 @@ func TestAccAWSVPCPeeringConnection_basic(t *testing.T) {
|
||||||
var connection ec2.VpcPeeringConnection
|
var connection ec2.VpcPeeringConnection
|
||||||
|
|
||||||
resource.Test(t, resource.TestCase{
|
resource.Test(t, resource.TestCase{
|
||||||
PreCheck: func() {
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
testAccPreCheck(t)
|
|
||||||
if os.Getenv("AWS_ACCOUNT_ID") == "" {
|
|
||||||
t.Fatal("AWS_ACCOUNT_ID must be set.")
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
IDRefreshName: "aws_vpc_peering_connection.foo",
|
IDRefreshName: "aws_vpc_peering_connection.foo",
|
||||||
IDRefreshIgnore: []string{"auto_accept"},
|
IDRefreshIgnore: []string{"auto_accept"},
|
||||||
|
|
||||||
|
@ -60,15 +53,8 @@ func TestAccAWSVPCPeeringConnection_plan(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
resource.Test(t, resource.TestCase{
|
resource.Test(t, resource.TestCase{
|
||||||
PreCheck: func() {
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
testAccPreCheck(t)
|
|
||||||
if os.Getenv("AWS_ACCOUNT_ID") == "" {
|
|
||||||
t.Fatal("AWS_ACCOUNT_ID must be set.")
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
IDRefreshIgnore: []string{"auto_accept"},
|
IDRefreshIgnore: []string{"auto_accept"},
|
||||||
|
|
||||||
Providers: testAccProviders,
|
Providers: testAccProviders,
|
||||||
CheckDestroy: testAccCheckAWSVpcPeeringConnectionDestroy,
|
CheckDestroy: testAccCheckAWSVpcPeeringConnectionDestroy,
|
||||||
Steps: []resource.TestStep{
|
Steps: []resource.TestStep{
|
||||||
|
@ -90,13 +76,7 @@ func TestAccAWSVPCPeeringConnection_tags(t *testing.T) {
|
||||||
var connection ec2.VpcPeeringConnection
|
var connection ec2.VpcPeeringConnection
|
||||||
|
|
||||||
resource.Test(t, resource.TestCase{
|
resource.Test(t, resource.TestCase{
|
||||||
PreCheck: func() {
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
testAccPreCheck(t)
|
|
||||||
if os.Getenv("AWS_ACCOUNT_ID") == "" {
|
|
||||||
t.Fatal("AWS_ACCOUNT_ID must be set.")
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
IDRefreshName: "aws_vpc_peering_connection.foo",
|
IDRefreshName: "aws_vpc_peering_connection.foo",
|
||||||
IDRefreshIgnore: []string{"auto_accept"},
|
IDRefreshIgnore: []string{"auto_accept"},
|
||||||
|
|
||||||
|
@ -137,13 +117,7 @@ func TestAccAWSVPCPeeringConnection_options(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
resource.Test(t, resource.TestCase{
|
resource.Test(t, resource.TestCase{
|
||||||
PreCheck: func() {
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
testAccPreCheck(t)
|
|
||||||
if os.Getenv("AWS_ACCOUNT_ID") == "" {
|
|
||||||
t.Fatal("AWS_ACCOUNT_ID must be set")
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
IDRefreshName: "aws_vpc_peering_connection.foo",
|
IDRefreshName: "aws_vpc_peering_connection.foo",
|
||||||
IDRefreshIgnore: []string{"auto_accept"},
|
IDRefreshIgnore: []string{"auto_accept"},
|
||||||
|
|
||||||
|
@ -280,7 +254,7 @@ func testAccCheckAWSVpcPeeringConnectionExists(n string, connection *ec2.VpcPeer
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if len(resp.VpcPeeringConnections) == 0 {
|
if len(resp.VpcPeeringConnections) == 0 {
|
||||||
return fmt.Errorf("VPC Peering Connection could not be found.")
|
return fmt.Errorf("VPC Peering Connection could not be found")
|
||||||
}
|
}
|
||||||
|
|
||||||
*connection = *resp.VpcPeeringConnections[0]
|
*connection = *resp.VpcPeeringConnections[0]
|
||||||
|
|
|
@ -12,8 +12,6 @@ Provides an VPC Peering Connection resource.
|
||||||
|
|
||||||
## Example Usage
|
## Example Usage
|
||||||
|
|
||||||
Basic usage:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
resource "aws_vpc_peering_connection" "foo" {
|
resource "aws_vpc_peering_connection" "foo" {
|
||||||
peer_owner_id = "${var.peer_owner_id}"
|
peer_owner_id = "${var.peer_owner_id}"
|
||||||
|
@ -48,7 +46,6 @@ resource "aws_vpc_peering_connection" "foo" {
|
||||||
peer_owner_id = "${var.peer_owner_id}"
|
peer_owner_id = "${var.peer_owner_id}"
|
||||||
peer_vpc_id = "${aws_vpc.bar.id}"
|
peer_vpc_id = "${aws_vpc.bar.id}"
|
||||||
vpc_id = "${aws_vpc.foo.id}"
|
vpc_id = "${aws_vpc.foo.id}"
|
||||||
|
|
||||||
auto_accept = true
|
auto_accept = true
|
||||||
|
|
||||||
tags {
|
tags {
|
||||||
|
@ -75,6 +72,7 @@ more information.
|
||||||
The following arguments are supported:
|
The following arguments are supported:
|
||||||
|
|
||||||
* `peer_owner_id` - (Required) The AWS account ID of the owner of the peer VPC.
|
* `peer_owner_id` - (Required) The AWS account ID of the owner of the peer VPC.
|
||||||
|
Defaults to the account ID the [AWS provider][1] is currently connected to.
|
||||||
* `peer_vpc_id` - (Required) The ID of the VPC with which you are creating the VPC Peering Connection.
|
* `peer_vpc_id` - (Required) The ID of the VPC with which you are creating the VPC Peering Connection.
|
||||||
* `vpc_id` - (Required) The ID of the requester VPC.
|
* `vpc_id` - (Required) The ID of the requester VPC.
|
||||||
* `auto_accept` - (Optional) Accept the peering (you need to be the owner of both VPCs).
|
* `auto_accept` - (Optional) Accept the peering (you need to be the owner of both VPCs).
|
||||||
|
@ -123,3 +121,5 @@ VPC Peering resources can be imported using the `vpc peering id`, e.g.
|
||||||
```
|
```
|
||||||
$ terraform import aws_vpc_peering_connection.test_connection pcx-111aaa111
|
$ terraform import aws_vpc_peering_connection.test_connection pcx-111aaa111
|
||||||
```
|
```
|
||||||
|
|
||||||
|
[1]: /docs/providers/aws/index.html
|
||||||
|
|
Loading…
Reference in New Issue