Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only reject tags for standard EIPs on EC2 Classic #18909

Merged
merged 8 commits into from
Apr 16, 2021

Conversation

rick-masters
Copy link
Contributor

Only reject tags for standard EIPs for EC2 Classic platforms.

Fixes a regression introduced here:
https://github.com/hashicorp/terraform-provider-aws/pull/17612/files#diff-5cc53a93a886b4b2474bd02b135f8aabd7f4aeb82d77e8ac0378386eaa01ae84L186

The code above did not take account of the fact that accounts without EC2 Classic support will automatically default to type "vpc" for EIPs and so tags are ok.

Community Note

  • Please vote on this pull request by adding a 👍 reaction to the original pull request comment to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for pull request followers and do not help prioritize the request

Closes #18756

Output from acceptance testing:

Pending...

@rick-masters rick-masters requested a review from a team as a code owner April 15, 2021 22:33
@ghost ghost added size/XS Managed by automation to categorize the size of a PR. service/ec2 Issues and PRs that pertain to the ec2 service. labels Apr 15, 2021
@github-actions github-actions bot added the needs-triage Waiting for first response or review from a maintainer. label Apr 15, 2021
@YakDriver
Copy link
Member

YakDriver commented Apr 15, 2021

@rick-masters Cool! Thanks for the awesomely quick response.

I want to make sure we catch all cases. Forgive/correct my ignorances of all the EC2 classic nuances as I go through these. This is how it should behave?

acct/region type default vpc? vpc = true config sets tags resulting eip domain result
EC2 Classic Yes Yes Yes VPC Tags Set
EC2 Classic Yes No Yes Standard? Tags Set
EC2 Classic No Yes Yes VPC Tags Set
EC2 Classic No No Yes Standard? Error
VPC Yes Yes Yes VPC Tags Set
VPC Yes No Yes VPC Tags Set
VPC No Yes Yes VPC Tags Set
VPC No No Yes VPC Tags Set
EC2 Classic Yes Yes No VPC No Tags Set
EC2 Classic Yes No No Standard? No Tags Set
EC2 Classic No Yes No VPC No Tags Set
EC2 Classic No No No Standard? No Tags Set
VPC Yes Yes No VPC No Tags Set
VPC Yes No No VPC No Tags Set
VPC No Yes No VPC No Tags Set
VPC No No No VPC No Tags Set

@YakDriver YakDriver self-assigned this Apr 15, 2021
@YakDriver YakDriver removed the needs-triage Waiting for first response or review from a maintainer. label Apr 15, 2021
@rick-masters
Copy link
Contributor Author

I'm not sure about the column "default vpc?". Does that mean "Is there a default VPC present in the region?" If so, then I'm not sure that is relevant but I suppose it can't hurt to test.

With regards to EC2 Classic or VPC there are two factors: whether the account supports EC2 classic (was it created circa 2013 or earlier) and the second factor is does the region support EC2 Classic (us-east-1, us-west-1, us-west-2 are yes, us-east-2 is no). EC2 Classic is available only when both are true. BTW, I have access to both types of accounts for testing.

@YakDriver
Copy link
Member

Are tags precisely on allocation terribly important? If not, we could simply skip tags in create and let update (called by create) take care of them. The benefit there is that we're relying on what AWS says the domain type is rather than trying to make sure we guess correctly. I think 🤞 we've got the logic down but I'm concerned about edge cases. If a VPC account/region has no default VPC and the config doesn't set vpc = true, does AWS assign a domain type of standard?

@YakDriver
Copy link
Member

Yes, it looks like based on your comment here #16881 (comment), that tags are indeed important on creation.

@rick-masters
Copy link
Contributor Author

My understanding is that the present of a default vpc is not relevant to the type of EIP that is created. https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AllocateAddress.html

Default: If the Region supports EC2-Classic, the default is standard. Otherwise, the default is vpc.

I suspect this means "If your account and region supports EC2-Classic, ...." but I'll confirm when I run my test in a few minutes.

@rick-masters
Copy link
Contributor Author

I didn't run all variations, but I ran these and have not seen a problem so far:

Acct Type Region Type default vpc? vpc = true Tags? ->Domain -> Tags/Error
ec2 ec2 Yes Yes Yes vpc tags
ec2 ec2 Yes No Yes n/a error
ec2 vpc No Yes Yes vpc tags
ec2 vpc No No Yes vpc tags
vpc ec2 Yes Yes Yes vpc tags
vpc ec2 Yes No Yes vpc tags
vpc vpc No Yes Yes vpc tags
vpc vpc No No Yes vpc tags
ec2 ec2 Yes Yes No vpc no tags
ec2 ec2 Yes No No ec2 no tags
ec2 vpc No Yes No vpc no tags
ec2 vpc No No No vpc no tags
vpc ec2 Yes Yes No vpc no tags
vpc ec2 Yes No No vpc no tags
vpc vpc No Yes No vpc no tags
vpc vpc No No No vpc no tags

main.tf

resource "aws_eip" "node_eip" {
  tags = {
    Name = "test-foo-node-01-eip"
    NodeName = "test-foo-node-01"
   }
   vpc = true
}

test.sh

#!/usr/bin/env bash
#shellcheck disable=1090

for tags_present in yes no; do
   for account_type in vpc ec2; do
      for region_type in ec2 vpc; do
          for vpc_true in no yes; do

               if [ "$account_type" = "ec2" ]; then
                   source ec2_creds.sh
               else
                   source vpc_creds.sh
               fi

               if [ "$region_type" = "ec2" ]; then
                   export AWS_DEFAULT_REGION=us-west-1
               else
                   export AWS_DEFAULT_REGION=us-east-2
               fi

               if [ "$vpc_true" = "yes" ]; then
                   sed -i 's/#vpc = true/ vpc = true/' main.tf
               else
                   sed -i 's/ vpc = true/#vpc = true/' main.tf
               fi

               if [ "$tags_present" = "yes" ]; then
                   sed -i 's/#tags/ tags/' main.tf
                   sed -i 's/#Name/ Name/' main.tf
                   sed -i 's/#Node/ Node/' main.tf
                   sed -i 's/ #}/  }/' main.tf
               else
                   sed -i 's/ tags/#tags/' main.tf
                   sed -i 's/ Name/#Name/' main.tf
                   sed -i 's/ Node/#Node/' main.tf
                   sed -i 's/  }/ #}/' main.tf
               fi

               cat main.tf
               printf "acct: %s region: %s vpc_true: %s tags: %s\n" "$account_type" "$region_type" "$vpc_true" "$tags_present"
               set | grep AWS
               read -r _
               TF_LOG=debug TF_CLI_CONFIG_FILE=rcterraform terraform apply
               printf "acct: %s region: %s vpc_true: %s tags: %s\n" "$account_type" "$region_type" "$vpc_true" "$tags_present"
               printf "Check results: "; read -r _
               TF_LOG=debug TF_CLI_CONFIG_FILE=rcterraform terraform destroy
           done
       done
   done
done

@rick-masters
Copy link
Contributor Author

Passed all EIP acceptance tests. There are two runs here, one with a VPC style account and one with an EC2 Classic account.

VPC style account:

TF_ACC=1 go test ./aws -v -count 1 -parallel 1 -run=TestAccAWSEIP -timeout 180m               
=== RUN   TestAccAWSEIPAssociation_instance                                                                                                      
=== PAUSE TestAccAWSEIPAssociation_instance          
=== RUN   TestAccAWSEIPAssociation_networkInterface
=== PAUSE TestAccAWSEIPAssociation_networkInterface      
=== RUN   TestAccAWSEIPAssociation_basic             
=== PAUSE TestAccAWSEIPAssociation_basic          
=== RUN   TestAccAWSEIPAssociation_ec2Classic      
=== PAUSE TestAccAWSEIPAssociation_ec2Classic               
=== RUN   TestAccAWSEIPAssociation_spotInstance                                                                                                  
=== PAUSE TestAccAWSEIPAssociation_spotInstance                                                                                                  
=== RUN   TestAccAWSEIPAssociation_disappears                           
=== PAUSE TestAccAWSEIPAssociation_disappears                                                                                                    
=== RUN   TestAccAWSEIP_Ec2Classic
=== PAUSE TestAccAWSEIP_Ec2Classic
=== RUN   TestAccAWSEIP_basic
=== PAUSE TestAccAWSEIP_basic
=== RUN   TestAccAWSEIP_instance
=== PAUSE TestAccAWSEIP_instance
=== RUN   TestAccAWSEIP_networkInterface
=== PAUSE TestAccAWSEIP_networkInterface
=== RUN   TestAccAWSEIP_twoEIPsOneNetworkInterface
=== PAUSE TestAccAWSEIP_twoEIPsOneNetworkInterface
=== RUN   TestAccAWSEIP_associated_user_private_ip
=== PAUSE TestAccAWSEIP_associated_user_private_ip
=== RUN   TestAccAWSEIP_Instance_Reassociate
=== PAUSE TestAccAWSEIP_Instance_Reassociate
=== RUN   TestAccAWSEIP_disappears
=== PAUSE TestAccAWSEIP_disappears
=== RUN   TestAccAWSEIP_notAssociated
=== PAUSE TestAccAWSEIP_notAssociated
=== RUN   TestAccAWSEIP_tags_Vpc
=== PAUSE TestAccAWSEIP_tags_Vpc
=== RUN   TestAccAWSEIP_tags_Ec2Classic
=== PAUSE TestAccAWSEIP_tags_Ec2Classic
=== RUN   TestAccAWSEIP_PublicIpv4Pool_default
=== PAUSE TestAccAWSEIP_PublicIpv4Pool_default
=== RUN   TestAccAWSEIP_NetworkBorderGroup
=== PAUSE TestAccAWSEIP_NetworkBorderGroup
=== RUN   TestAccAWSEIP_CarrierIP
=== PAUSE TestAccAWSEIP_CarrierIP
=== RUN   TestAccAWSEIP_PublicIpv4Pool_custom
    resource_aws_eip_test.go:515: Environment variable AWS_EC2_EIP_PUBLIC_IPV4_POOL is not set                                          [11/1697]
--- SKIP: TestAccAWSEIP_PublicIpv4Pool_custom (0.00s)
=== RUN   TestAccAWSEIP_CustomerOwnedIpv4Pool
=== PAUSE TestAccAWSEIP_CustomerOwnedIpv4Pool
=== CONT  TestAccAWSEIPAssociation_instance
--- PASS: TestAccAWSEIPAssociation_instance (342.87s)
=== CONT  TestAccAWSEIP_NetworkBorderGroup
--- PASS: TestAccAWSEIP_NetworkBorderGroup (15.39s)
=== CONT  TestAccAWSEIP_CustomerOwnedIpv4Pool
    data_source_aws_outposts_outposts_test.go:67: skipping since no Outposts found
--- SKIP: TestAccAWSEIP_CustomerOwnedIpv4Pool (0.38s)
=== CONT  TestAccAWSEIP_CarrierIP
    resource_aws_ec2_carrier_gateway_test.go:249: skipping since no Wavelength Zones are available
--- SKIP: TestAccAWSEIP_CarrierIP (0.12s)
=== CONT  TestAccAWSEIP_networkInterface
--- PASS: TestAccAWSEIP_networkInterface (63.56s)
=== CONT  TestAccAWSEIP_PublicIpv4Pool_default
--- PASS: TestAccAWSEIP_PublicIpv4Pool_default (14.99s)
=== CONT  TestAccAWSEIPAssociation_disappears
--- PASS: TestAccAWSEIPAssociation_disappears (85.42s)
=== CONT  TestAccAWSEIP_tags_Ec2Classic
    ec2_classic_test.go:54: this test can only run in EC2-Classic, platforms available in us-east-1: ["VPC"]
--- SKIP: TestAccAWSEIP_tags_Ec2Classic (0.95s)
=== CONT  TestAccAWSEIP_instance
--- PASS: TestAccAWSEIP_instance (92.10s)
=== CONT  TestAccAWSEIP_tags_Vpc
--- PASS: TestAccAWSEIP_tags_Vpc (22.29s)
=== CONT  TestAccAWSEIP_basic
--- PASS: TestAccAWSEIP_basic (14.70s)
=== CONT  TestAccAWSEIP_notAssociated
--- PASS: TestAccAWSEIP_notAssociated (130.81s)
=== CONT  TestAccAWSEIP_Ec2Classic
    ec2_classic_test.go:54: this test can only run in EC2-Classic, platforms available in us-east-1: ["VPC"]
--- SKIP: TestAccAWSEIP_Ec2Classic (0.00s)
=== CONT  TestAccAWSEIP_disappears
--- PASS: TestAccAWSEIP_disappears (10.41s)
=== CONT  TestAccAWSEIP_Instance_Reassociate
--- PASS: TestAccAWSEIP_Instance_Reassociate (115.90s)
=== CONT  TestAccAWSEIP_twoEIPsOneNetworkInterface
--- PASS: TestAccAWSEIP_twoEIPsOneNetworkInterface (64.26s)
=== CONT  TestAccAWSEIP_associated_user_private_ip
--- PASS: TestAccAWSEIP_associated_user_private_ip (224.12s)
=== CONT  TestAccAWSEIPAssociation_ec2Classic
    ec2_classic_test.go:54: this test can only run in EC2-Classic, platforms available in us-east-1: ["VPC"]
--- SKIP: TestAccAWSEIPAssociation_ec2Classic (0.00s)
=== CONT  TestAccAWSEIPAssociation_spotInstance
--- PASS: TestAccAWSEIPAssociation_spotInstance (358.90s)
=== CONT  TestAccAWSEIPAssociation_basic
--- PASS: TestAccAWSEIPAssociation_basic (216.45s)
=== CONT  TestAccAWSEIPAssociation_networkInterface
--- PASS: TestAccAWSEIPAssociation_networkInterface (59.54s)
PASS
ok      github.com/terraform-providers/terraform-provider-aws/aws       1833.248s

With EC2 Classic account:

TF_ACC=1 go test ./aws -v -count 1 -parallel 1 -run=TestAccAWSEIP -timeout 180m               
=== RUN   TestAccAWSEIPAssociation_instance           
=== PAUSE TestAccAWSEIPAssociation_instance  
=== RUN   TestAccAWSEIPAssociation_networkInterface                                                                                              
=== PAUSE TestAccAWSEIPAssociation_networkInterface
=== RUN   TestAccAWSEIPAssociation_basic            
=== PAUSE TestAccAWSEIPAssociation_basic                    
=== RUN   TestAccAWSEIPAssociation_ec2Classic               
=== PAUSE TestAccAWSEIPAssociation_ec2Classic                                                                                                    
=== RUN   TestAccAWSEIPAssociation_spotInstance                                                                                                  
=== PAUSE TestAccAWSEIPAssociation_spotInstance
=== RUN   TestAccAWSEIPAssociation_disappears
=== PAUSE TestAccAWSEIPAssociation_disappears
=== RUN   TestAccAWSEIP_Ec2Classic
=== PAUSE TestAccAWSEIP_Ec2Classic
=== RUN   TestAccAWSEIP_basic
=== PAUSE TestAccAWSEIP_basic
=== RUN   TestAccAWSEIP_instance
=== PAUSE TestAccAWSEIP_instance
=== RUN   TestAccAWSEIP_networkInterface
=== PAUSE TestAccAWSEIP_networkInterface
=== RUN   TestAccAWSEIP_twoEIPsOneNetworkInterface
=== PAUSE TestAccAWSEIP_twoEIPsOneNetworkInterface
=== RUN   TestAccAWSEIP_associated_user_private_ip
=== PAUSE TestAccAWSEIP_associated_user_private_ip
=== RUN   TestAccAWSEIP_Instance_Reassociate
=== PAUSE TestAccAWSEIP_Instance_Reassociate
=== RUN   TestAccAWSEIP_disappears
=== PAUSE TestAccAWSEIP_disappears
=== RUN   TestAccAWSEIP_notAssociated
=== PAUSE TestAccAWSEIP_notAssociated
=== RUN   TestAccAWSEIP_tags_Vpc
=== PAUSE TestAccAWSEIP_tags_Vpc
=== RUN   TestAccAWSEIP_tags_Ec2Classic
=== PAUSE TestAccAWSEIP_tags_Ec2Classic
=== RUN   TestAccAWSEIP_PublicIpv4Pool_default
=== PAUSE TestAccAWSEIP_PublicIpv4Pool_default
=== RUN   TestAccAWSEIP_NetworkBorderGroup
=== PAUSE TestAccAWSEIP_NetworkBorderGroup
=== RUN   TestAccAWSEIP_CarrierIP
=== PAUSE TestAccAWSEIP_CarrierIP
=== RUN   TestAccAWSEIP_PublicIpv4Pool_custom
    resource_aws_eip_test.go:515: Environment variable AWS_EC2_EIP_PUBLIC_IPV4_POOL is not set
--- SKIP: TestAccAWSEIP_PublicIpv4Pool_custom (0.00s)
=== RUN   TestAccAWSEIP_CustomerOwnedIpv4Pool
=== PAUSE TestAccAWSEIP_CustomerOwnedIpv4Pool
=== CONT  TestAccAWSEIPAssociation_instance
--- PASS: TestAccAWSEIPAssociation_instance (58.99s)
=== CONT  TestAccAWSEIP_associated_user_private_ip
--- PASS: TestAccAWSEIP_associated_user_private_ip (217.24s)
=== CONT  TestAccAWSEIP_CustomerOwnedIpv4Pool
    data_source_aws_outposts_outposts_test.go:67: skipping since no Outposts found
--- SKIP: TestAccAWSEIP_CustomerOwnedIpv4Pool (0.35s)
=== CONT  TestAccAWSEIP_CarrierIP
    resource_aws_ec2_carrier_gateway_test.go:249: skipping since no Wavelength Zones are available
--- SKIP: TestAccAWSEIP_CarrierIP (0.13s)
=== CONT  TestAccAWSEIP_NetworkBorderGroup
--- PASS: TestAccAWSEIP_NetworkBorderGroup (15.14s)
=== CONT  TestAccAWSEIP_PublicIpv4Pool_default
--- PASS: TestAccAWSEIP_PublicIpv4Pool_default (14.92s)
=== CONT  TestAccAWSEIP_tags_Ec2Classic
--- PASS: TestAccAWSEIP_tags_Ec2Classic (6.11s)
=== CONT  TestAccAWSEIP_tags_Vpc
--- PASS: TestAccAWSEIP_tags_Vpc (23.17s)
=== CONT  TestAccAWSEIP_notAssociated
--- PASS: TestAccAWSEIP_notAssociated (112.30s)
=== CONT  TestAccAWSEIP_disappears
--- PASS: TestAccAWSEIP_disappears (10.45s)
=== CONT  TestAccAWSEIP_Ec2Classic
--- PASS: TestAccAWSEIP_Ec2Classic (107.94s)
=== CONT  TestAccAWSEIP_twoEIPsOneNetworkInterface
--- PASS: TestAccAWSEIP_twoEIPsOneNetworkInterface (64.25s)
=== CONT  TestAccAWSEIP_networkInterface
--- PASS: TestAccAWSEIP_networkInterface (63.70s)
=== CONT  TestAccAWSEIP_instance
--- PASS: TestAccAWSEIP_instance (71.19s)
=== CONT  TestAccAWSEIP_basic
--- PASS: TestAccAWSEIP_basic (14.78s)
=== CONT  TestAccAWSEIPAssociation_ec2Classic
--- PASS: TestAccAWSEIPAssociation_ec2Classic (240.82s)
=== CONT  TestAccAWSEIPAssociation_disappears
--- PASS: TestAccAWSEIPAssociation_disappears (85.32s)
=== CONT  TestAccAWSEIPAssociation_spotInstance
--- PASS: TestAccAWSEIPAssociation_spotInstance (118.91s)
=== CONT  TestAccAWSEIP_Instance_Reassociate
--- PASS: TestAccAWSEIP_Instance_Reassociate (114.63s)
=== CONT  TestAccAWSEIPAssociation_basic
    provider_test.go:713: This test can only in regions without EC2 Classic, platforms available in us-west-1: ["EC2" "VPC"]
--- SKIP: TestAccAWSEIPAssociation_basic (0.00s)
=== CONT  TestAccAWSEIPAssociation_networkInterface
--- PASS: TestAccAWSEIPAssociation_networkInterface (59.81s)
PASS
ok      github.com/terraform-providers/terraform-provider-aws/aws       1400.242s

@ghost ghost added size/XL Managed by automation to categorize the size of a PR. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. and removed size/XS Managed by automation to categorize the size of a PR. labels Apr 16, 2021
Copy link
Member

@YakDriver YakDriver left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! 🎉

I ran tests in 4 environments with varying levels of EC2VPC, Classicness.

Acceptance tests in us-west-2 (187) (EC2VPC & EC2Classic):

--- PASS: TestAccAWSEIP_basic (15.49s)
--- PASS: TestAccAWSEIP_carrierIP (19.02s)
--- PASS: TestAccAWSEIP_disappears (10.27s)
--- PASS: TestAccAWSEIP_Instance (75.28s)
--- PASS: TestAccAWSEIP_Instance_ec2Classic (105.01s)
--- PASS: TestAccAWSEIP_Instance_notAssociated (119.49s)
--- PASS: TestAccAWSEIP_Instance_reassociate (136.69s)
--- PASS: TestAccAWSEIP_networkBorderGroup (14.44s)
--- PASS: TestAccAWSEIP_NetworkInterface (75.25s)
--- PASS: TestAccAWSEIP_NetworkInterface_twoEIPsOneInterface (74.76s)
--- PASS: TestAccAWSEIP_PublicIPv4Pool_default (14.41s)
--- PASS: TestAccAWSEIP_Tags_EC2Classic_withoutVPCTrue (3.07s)
--- PASS: TestAccAWSEIP_Tags_EC2Classic_withVPCTrue (15.42s)
--- PASS: TestAccAWSEIP_Tags_EC2VPC_withoutVPCTrue (21.91s)
--- PASS: TestAccAWSEIP_Tags_EC2VPC_withVPCTrue (22.41s)
--- SKIP: TestAccAWSEIP_CustomerOwnedIPv4Pool (0.64s)
--- SKIP: TestAccAWSEIP_PublicIPv4Pool_custom (0.00s)

--- PASS: TestAccAWSEIPAssociation_spotInstance (91.77s)
--- PASS: TestAccAWSEIPAssociation_instance (104.42s)
--- PASS: TestAccAWSEIPAssociation_disappears (109.00s)
--- PASS: TestAccAWSEIPAssociation_networkInterface (65.75s)
--- PASS: TestAccAWSEIPAssociation_basic (164.08s)
--- PASS: TestAccAWSEIPAssociation_ec2Classic (215.81s)

Acceptance tests in us-west-2 (153) (EC2VPC):

--- PASS: TestAccAWSEIP_basic (17.51s)
--- PASS: TestAccAWSEIP_disappears (9.69s)
--- PASS: TestAccAWSEIP_Instance (87.05s)
--- PASS: TestAccAWSEIP_Instance_associatedUserPrivateIP (254.11s)
--- PASS: TestAccAWSEIP_Instance_notAssociated (127.85s)
--- PASS: TestAccAWSEIP_Instance_reassociate (141.58s)
--- PASS: TestAccAWSEIP_networkBorderGroup (14.70s)
--- PASS: TestAccAWSEIP_NetworkInterface (73.95s)
--- PASS: TestAccAWSEIP_NetworkInterface_twoEIPsOneInterface (75.22s)
--- PASS: TestAccAWSEIP_PublicIPv4Pool_default (14.07s)
--- PASS: TestAccAWSEIP_Tags_EC2VPC_withoutVPCTrue (21.62s)
--- PASS: TestAccAWSEIP_Tags_EC2VPC_withVPCTrue (23.98s)
--- SKIP: TestAccAWSEIP_carrierIP (0.36s)
--- SKIP: TestAccAWSEIP_CustomerOwnedIPv4Pool (0.61s)
--- SKIP: TestAccAWSEIP_Instance_ec2Classic (0.00s)
--- SKIP: TestAccAWSEIP_PublicIPv4Pool_custom (0.00s)
--- SKIP: TestAccAWSEIP_Tags_EC2Classic_withoutVPCTrue (0.41s)
--- SKIP: TestAccAWSEIP_Tags_EC2Classic_withVPCTrue (0.00s)

--- PASS: TestAccAWSEIPAssociation_spotInstance (79.88s)
--- PASS: TestAccAWSEIPAssociation_instance (123.40s)
--- PASS: TestAccAWSEIPAssociation_basic (164.44s)
--- SKIP: TestAccAWSEIPAssociation_ec2Classic (0.44s)
--- PASS: TestAccAWSEIPAssociation_disappears (97.00s)
--- PASS: TestAccAWSEIPAssociation_networkInterface (66.06s)

Acceptance tests in us-east-1 (187) (EC2Classic):


--- PASS: TestAccAWSEIP_basic (10.29s)
--- PASS: TestAccAWSEIP_carrierIP (11.19s)
--- PASS: TestAccAWSEIP_disappears (7.13s)
--- PASS: TestAccAWSEIP_Instance (68.33s)
--- PASS: TestAccAWSEIP_Instance_associatedUserPrivateIP (250.69s)
--- PASS: TestAccAWSEIP_Instance_ec2Classic (236.33s)
--- PASS: TestAccAWSEIP_Instance_notAssociated (118.52s)
--- PASS: TestAccAWSEIP_Instance_reassociate (143.94s)
--- PASS: TestAccAWSEIP_networkBorderGroup (9.74s)
--- PASS: TestAccAWSEIP_NetworkInterface (60.48s)
--- PASS: TestAccAWSEIP_NetworkInterface_twoEIPsOneInterface (59.32s)
--- PASS: TestAccAWSEIP_PublicIPv4Pool_default (9.81s)
--- PASS: TestAccAWSEIP_Tags_EC2Classic_withoutVPCTrue (2.69s)
--- PASS: TestAccAWSEIP_Tags_EC2Classic_withVPCTrue (15.09s)
--- SKIP: TestAccAWSEIP_CustomerOwnedIPv4Pool (0.33s)
--- SKIP: TestAccAWSEIP_PublicIPv4Pool_custom (0.00s)
--- SKIP: TestAccAWSEIP_Tags_EC2VPC_withoutVPCTrue (0.00s)
--- SKIP: TestAccAWSEIP_Tags_EC2VPC_withVPCTrue (0.52s)

--- SKIP: TestAccAWSEIPAssociation_basic (0.44s)
--- PASS: TestAccAWSEIPAssociation_networkInterface (54.55s)
--- PASS: TestAccAWSEIPAssociation_disappears (125.24s)
--- PASS: TestAccAWSEIPAssociation_ec2Classic (102.34s)
--- PASS: TestAccAWSEIPAssociation_spotInstance (292.23s)
--- PASS: TestAccAWSEIPAssociation_instance (330.69s)

Acceptance tests in GovCloud (EC2VPC):


--- PASS: TestAccAWSEIP_basic (19.27s)
--- PASS: TestAccAWSEIP_disappears (12.02s)
--- PASS: TestAccAWSEIP_Instance (96.93s)
--- PASS: TestAccAWSEIP_Instance_associatedUserPrivateIP (210.48s)
--- PASS: TestAccAWSEIP_Instance_notAssociated (117.47s)
--- PASS: TestAccAWSEIP_Instance_reassociate (158.41s)
--- PASS: TestAccAWSEIP_networkBorderGroup (17.91s)
--- PASS: TestAccAWSEIP_NetworkInterface (76.14s)
--- PASS: TestAccAWSEIP_NetworkInterface_twoEIPsOneInterface (76.64s)
--- PASS: TestAccAWSEIP_PublicIPv4Pool_default (17.88s)
--- PASS: TestAccAWSEIP_Tags_EC2VPC_withoutVPCTrue (27.81s)
--- PASS: TestAccAWSEIP_Tags_EC2VPC_withVPCTrue (28.55s)
--- SKIP: TestAccAWSEIP_carrierIP (0.35s)
--- SKIP: TestAccAWSEIP_CustomerOwnedIPv4Pool (1.91s)
--- SKIP: TestAccAWSEIP_Instance_ec2Classic (0.00s)
--- SKIP: TestAccAWSEIP_PublicIPv4Pool_custom (0.00s)
--- SKIP: TestAccAWSEIP_Tags_EC2Classic_withoutVPCTrue (1.00s)
--- SKIP: TestAccAWSEIP_Tags_EC2Classic_withVPCTrue (0.48s)

--- PASS: TestAccAWSEIPAssociation_spotInstance (102.45s)
--- SKIP: TestAccAWSEIPAssociation_ec2Classic (1.06s)
--- PASS: TestAccAWSEIPAssociation_instance (114.41s)
--- PASS: TestAccAWSEIPAssociation_disappears (120.92s)
--- PASS: TestAccAWSEIPAssociation_networkInterface (68.43s)
--- PASS: TestAccAWSEIPAssociation_basic (173.32s)

@YakDriver YakDriver added this to the v3.37.0 milestone Apr 16, 2021
@YakDriver YakDriver merged commit 158803d into hashicorp:main Apr 16, 2021
@ghost
Copy link

ghost commented Apr 16, 2021

This has been released in version 3.37.0 of the Terraform AWS provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading.

For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template for triage. Thanks!

@ghost
Copy link

ghost commented May 16, 2021

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks!

@ghost ghost locked as resolved and limited conversation to collaborators May 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
service/ec2 Issues and PRs that pertain to the ec2 service. size/XL Managed by automation to categorize the size of a PR. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Tags not being assigned to Elastic IP instances
2 participants