summaryrefslogtreecommitdiffstats
path: root/ansible_collections/community/aws/tests/unit
diff options
context:
space:
mode:
Diffstat (limited to 'ansible_collections/community/aws/tests/unit')
-rw-r--r--ansible_collections/community/aws/tests/unit/__init__.py0
-rw-r--r--ansible_collections/community/aws/tests/unit/compat/__init__.py0
-rw-r--r--ansible_collections/community/aws/tests/unit/compat/builtins.py33
-rw-r--r--ansible_collections/community/aws/tests/unit/compat/mock.py122
-rw-r--r--ansible_collections/community/aws/tests/unit/compat/unittest.py38
-rw-r--r--ansible_collections/community/aws/tests/unit/constraints.txt7
-rw-r--r--ansible_collections/community/aws/tests/unit/mock/__init__.py0
-rw-r--r--ansible_collections/community/aws/tests/unit/mock/loader.py116
-rw-r--r--ansible_collections/community/aws/tests/unit/mock/path.py10
-rw-r--r--ansible_collections/community/aws/tests/unit/mock/procenv.py90
-rw-r--r--ansible_collections/community/aws/tests/unit/mock/vault_helper.py27
-rw-r--r--ansible_collections/community/aws/tests/unit/mock/yaml_helper.py126
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/__init__.py0
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/connection/__init__.py0
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/connection/test_aws_ssm.py181
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/__init__.py0
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/conftest.py31
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/__init__.py0
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/a.pem31
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/b.pem47
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.0.cert121
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.1.cert69
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.2.cert113
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.3.cert124
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.4.cert86
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-4.cert121
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/ec2_win_password.pem15
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/simple-chain-a.cert18
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/simple-chain-b.cert18
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/thezip.zipbin0 -> 162 bytes
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/.gitkeep0
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/__init__.py0
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/__init__.py0
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.ActivatePipeline_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_1.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_10.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_11.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_12.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_13.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_14.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_15.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_16.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_17.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_18.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_19.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_2.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_20.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_21.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_22.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_23.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_24.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_25.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_26.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_27.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_28.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_29.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_3.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_30.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_31.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_32.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_33.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_34.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_35.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_36.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_4.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_5.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_6.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_7.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_8.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_9.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.ListPipelines_1.json23
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.ActivatePipeline_1.json20
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_1.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_10.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_11.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_12.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_13.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_14.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_15.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_16.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_17.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_18.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_19.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_2.json70
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_20.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_21.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_22.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_23.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_24.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_25.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_26.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_27.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_28.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_29.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_3.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_30.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_31.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_32.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_33.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_34.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_35.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_4.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_5.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_6.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_7.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_8.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_9.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.ListPipelines_1.json23
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/check_dp_exists_false/datapipeline.DescribePipelines_1.json21
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/check_dp_exists_true/datapipeline.DescribePipelines_1.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/check_dp_status/datapipeline.DescribePipelines_1.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.CreatePipeline_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DeletePipeline_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_1.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_6.json21
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.ListPipelines_1.json23
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.ListPipelines_2.json27
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_1.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.GetPipelineDefinition_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.ListPipelines_1.json23
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.CreatePipeline_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DeletePipeline_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_1.json75
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_2.json75
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_3.json75
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_4.json75
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_5.json75
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_6.json79
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_7.json21
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.ListPipelines_1.json23
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.ListPipelines_2.json27
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_1.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.ListPipelines_1.json23
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/define_pipeline/datapipeline.DescribePipelines_1.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/define_pipeline/datapipeline.PutPipelineDefinition_1.json19
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_nonexistent_pipeline/datapipeline.ListPipelines_1.json23
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.CreatePipeline_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DeletePipeline_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_1.json75
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_2.json75
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_3.json75
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_4.json75
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_5.json75
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_6.json79
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_7.json21
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.ListPipelines_1.json23
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.ListPipelines_2.json27
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/pipeline_description/datapipeline.DescribePipelines_1.json82
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/pipeline_description_nonexistent/datapipeline.DescribePipelines_1.json21
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/pipeline_field/datapipeline.DescribePipelines_1.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/__init__.py0
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/associations_are_not_updated/directconnect.DescribeConnections_1.json27
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/changed_properties/directconnect.DescribeConnections_1.json27
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_does_not_exist/directconnect.DescribeConnections_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_exists_by_id/directconnect.DescribeConnections_1.json27
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_exists_by_name/directconnect.DescribeConnections_1.json45
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_status/directconnect.DescribeConnections_1.json27
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/create_and_delete/directconnect.CreateConnection_1.json23
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/create_and_delete/directconnect.DeleteConnection_1.json23
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/__init__.py0
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DeleteConnection_1.json23
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DeleteLag_1.json27
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeLags_1.json42
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeLags_2.json42
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeLags_3.json42
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeVirtualInterfaces_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DisassociateConnectionFromLag_1.json23
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.UpdateLag_1.json38
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeLags_1.json42
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeLags_2.json42
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeLags_3.json42
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeVirtualInterfaces_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_nonexistent_lag/directconnect.DescribeLags_1.json21
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_changed_true/directconnect.DescribeLags_1.json42
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_changed_true_no/directconnect.DescribeLags_1.json42
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_exists/directconnect.DescribeLags_1.json42
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_exists_using_name/directconnect.DescribeLags_1.json157
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_status/directconnect.DescribeLags_1.json42
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/nonexistent_lag_does_not_exist/directconnect.DescribeLags_1.json21
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/nonexistent_lag_status/directconnect.DescribeLags_1.json21
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/update_lag/directconnect.DescribeLags_1.json42
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/update_lag/directconnect.DescribeLags_2.json42
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/update_lag/directconnect.UpdateLag_1.json38
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.CreatePrivateVirtualInterface_1.json52
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.DescribeVirtualInterfaces_1.json18
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.DescribeVirtualInterfaces_2.json56
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.DescribeVirtualInterfaces_3.json56
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.CreatePublicVirtualInterface_1.json52
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.DescribeVirtualInterfaces_1.json18
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.DescribeVirtualInterfaces_2.json56
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.DescribeVirtualInterfaces_3.json56
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/delete_vi/directconnect.DeleteVirtualInterface_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/delete_vi/directconnect.DescribeVirtualInterfaces_1.json56
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_by_connection_id/directconnect.DescribeVirtualInterfaces_1.json56
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_by_name/directconnect.DescribeVirtualInterfaces_1.json56
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_by_vi_id/directconnect.DescribeVirtualInterfaces_1.json56
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_returns_missing_for_vi_id/directconnect.DescribeVirtualInterfaces_1.json18
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_returns_multiple/directconnect.DescribeVirtualInterfaces_1.json94
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/__init__.py0
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.CreateVpnConnectionRoute_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.CreateVpnConnectionRoute_2.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.CreateVpnConnection_1.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DeleteVpnConnection_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_1.json179
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_10.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_11.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_12.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_13.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_14.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_15.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_16.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_17.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_18.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_19.json235
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_20.json39
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_6.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_7.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_8.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_9.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.CreateTags_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.CreateVpnConnection_1.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DeleteVpnConnection_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_1.json149
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_10.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_11.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_12.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_13.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_14.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_15.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_16.json202
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_17.json36
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_6.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_7.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_8.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_9.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.CreateVpnConnection_1.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DeleteVpnConnection_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_1.json137
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_10.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_11.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_12.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_13.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_14.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_15.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_16.json30
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_6.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_7.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_8.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_9.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.CreateTags_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.CreateVpnConnection_1.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DeleteVpnConnection_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_1.json115
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_10.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_11.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_12.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_13.json162
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_14.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_15.json76
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_16.json76
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_17.json40
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_6.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_7.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_8.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_9.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.CreateVpnConnection_1.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DeleteVpnConnection_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_1.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_10.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_11.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_12.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_13.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_14.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_15.json30
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_6.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_7.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_8.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_9.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.CreateVpnConnection_1.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DeleteVpnConnection_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_1.json79
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_10.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_11.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_12.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_13.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_14.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_15.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_16.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_17.json126
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_18.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_19.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_20.json30
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_6.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_7.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_8.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_9.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.CreateVpnConnection_1.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DeleteVpnConnection_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_1.json103
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_10.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_11.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_12.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_13.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_14.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_15.json150
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_16.json30
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_6.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_7.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_8.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_9.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_nonexistent_connection/ec2.DescribeVpnConnections_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateTags_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateTags_2.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateVpnConnection_1.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateVpnConnection_2.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DeleteVpnConnection_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DeleteVpnConnection_2.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_1.json30
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_10.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_11.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_12.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_13.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_14.json30
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_15.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_16.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_17.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_18.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_19.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_20.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_21.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_22.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_23.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_24.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_25.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_26.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_27.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_28.json78
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_29.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_30.json72
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_31.json78
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_32.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_33.json72
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_34.json72
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_35.json36
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_36.json36
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_6.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_7.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_8.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_9.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateTags_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateTags_2.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateVpnConnection_1.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateVpnConnection_2.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DeleteVpnConnection_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DeleteVpnConnection_2.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_1.json48
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_10.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_11.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_12.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_13.json72
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_14.json48
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_15.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_16.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_17.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_18.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_19.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_20.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_21.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_22.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_23.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_24.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_25.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_26.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_27.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_28.json72
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_29.json143
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_30.json36
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_31.json36
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_6.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_7.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_8.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_9.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_nonexistent/ec2.DescribeVpnConnections_1.json73
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.CreateVpnConnection_1.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.CreateVpnConnection_2.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DeleteVpnConnection_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DeleteVpnConnection_2.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_10.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_11.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_12.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_13.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_14.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_15.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_16.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_17.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_18.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_19.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_20.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_21.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_22.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_23.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_24.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_25.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_26.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_27.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_28.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_29.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_30.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_31.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_32.json30
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_33.json30
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_6.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_7.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_8.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_9.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.CreateVpnConnection_1.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DeleteVpnConnection_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_1.json91
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_10.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_11.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_12.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_13.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_14.json30
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_15.json30
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_6.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_7.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_8.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_9.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.CreateVpnConnection_1.json29
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DeleteTags_1.json17
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DeleteVpnConnection_1.json16
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_1.json167
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_10.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_11.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_12.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_13.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_14.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_15.json214
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_16.json30
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_2.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_3.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_4.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_5.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_6.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_7.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_8.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_9.json66
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/test_acm_certificate.py125
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/test_api_gateway.py70
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/test_data_pipeline.py265
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_confirm_connection.py164
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_connection.py87
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_link_aggregation_group.py178
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_virtual_interface.py233
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/test_ec2_vpc_vpn.py370
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/test_ec2_win_password.py76
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/test_iam_password_policy.py30
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/test_opensearch.py86
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/test_redshift_cross_region_snapshots.py52
-rw-r--r--ansible_collections/community/aws/tests/unit/plugins/modules/utils.py52
-rw-r--r--ansible_collections/community/aws/tests/unit/requirements.txt6
516 files changed, 31807 insertions, 0 deletions
diff --git a/ansible_collections/community/aws/tests/unit/__init__.py b/ansible_collections/community/aws/tests/unit/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/__init__.py
diff --git a/ansible_collections/community/aws/tests/unit/compat/__init__.py b/ansible_collections/community/aws/tests/unit/compat/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/compat/__init__.py
diff --git a/ansible_collections/community/aws/tests/unit/compat/builtins.py b/ansible_collections/community/aws/tests/unit/compat/builtins.py
new file mode 100644
index 000000000..349d310e8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/compat/builtins.py
@@ -0,0 +1,33 @@
+# (c) 2014, Toshio Kuratomi <tkuratomi@ansible.com>
+#
+# This file is part of Ansible
+#
+# Ansible is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Ansible is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+#
+# Compat for python2.7
+#
+
+# One unittest needs to import builtins via __import__() so we need to have
+# the string that represents it
+try:
+ import __builtin__ # pylint: disable=unused-import
+except ImportError:
+ BUILTINS = 'builtins'
+else:
+ BUILTINS = '__builtin__'
diff --git a/ansible_collections/community/aws/tests/unit/compat/mock.py b/ansible_collections/community/aws/tests/unit/compat/mock.py
new file mode 100644
index 000000000..0972cd2e8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/compat/mock.py
@@ -0,0 +1,122 @@
+# (c) 2014, Toshio Kuratomi <tkuratomi@ansible.com>
+#
+# This file is part of Ansible
+#
+# Ansible is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Ansible is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+'''
+Compat module for Python3.x's unittest.mock module
+'''
+import sys
+
+# Python 2.7
+
+# Note: Could use the pypi mock library on python3.x as well as python2.x. It
+# is the same as the python3 stdlib mock library
+
+try:
+ # Allow wildcard import because we really do want to import all of mock's
+ # symbols into this compat shim
+ # pylint: disable=wildcard-import,unused-wildcard-import
+ from unittest.mock import *
+except ImportError:
+ # Python 2
+ # pylint: disable=wildcard-import,unused-wildcard-import
+ try:
+ from mock import *
+ except ImportError:
+ print('You need the mock library installed on python2.x to run tests')
+
+
+# Prior to 3.4.4, mock_open cannot handle binary read_data
+if sys.version_info >= (3,) and sys.version_info < (3, 4, 4):
+ file_spec = None
+
+ def _iterate_read_data(read_data):
+ # Helper for mock_open:
+ # Retrieve lines from read_data via a generator so that separate calls to
+ # readline, read, and readlines are properly interleaved
+ sep = b'\n' if isinstance(read_data, bytes) else '\n'
+ data_as_list = [l + sep for l in read_data.split(sep)]
+
+ if data_as_list[-1] == sep:
+ # If the last line ended in a newline, the list comprehension will have an
+ # extra entry that's just a newline. Remove this.
+ data_as_list = data_as_list[:-1]
+ else:
+ # If there wasn't an extra newline by itself, then the file being
+ # emulated doesn't have a newline to end the last line remove the
+ # newline that our naive format() added
+ data_as_list[-1] = data_as_list[-1][:-1]
+
+ for line in data_as_list:
+ yield line
+
+ def mock_open(mock=None, read_data=''):
+ """
+ A helper function to create a mock to replace the use of `open`. It works
+ for `open` called directly or used as a context manager.
+
+ The `mock` argument is the mock object to configure. If `None` (the
+ default) then a `MagicMock` will be created for you, with the API limited
+ to methods or attributes available on standard file handles.
+
+ `read_data` is a string for the `read` methoddline`, and `readlines` of the
+ file handle to return. This is an empty string by default.
+ """
+ def _readlines_side_effect(*args, **kwargs):
+ if handle.readlines.return_value is not None:
+ return handle.readlines.return_value
+ return list(_data)
+
+ def _read_side_effect(*args, **kwargs):
+ if handle.read.return_value is not None:
+ return handle.read.return_value
+ return type(read_data)().join(_data)
+
+ def _readline_side_effect():
+ if handle.readline.return_value is not None:
+ while True:
+ yield handle.readline.return_value
+ for line in _data:
+ yield line
+
+ global file_spec
+ if file_spec is None:
+ import _io
+ file_spec = list(set(dir(_io.TextIOWrapper)).union(set(dir(_io.BytesIO))))
+
+ if mock is None:
+ mock = MagicMock(name='open', spec=open)
+
+ handle = MagicMock(spec=file_spec)
+ handle.__enter__.return_value = handle
+
+ _data = _iterate_read_data(read_data)
+
+ handle.write.return_value = None
+ handle.read.return_value = None
+ handle.readline.return_value = None
+ handle.readlines.return_value = None
+
+ handle.read.side_effect = _read_side_effect
+ handle.readline.side_effect = _readline_side_effect()
+ handle.readlines.side_effect = _readlines_side_effect
+
+ mock.return_value = handle
+ return mock
diff --git a/ansible_collections/community/aws/tests/unit/compat/unittest.py b/ansible_collections/community/aws/tests/unit/compat/unittest.py
new file mode 100644
index 000000000..98f08ad6a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/compat/unittest.py
@@ -0,0 +1,38 @@
+# (c) 2014, Toshio Kuratomi <tkuratomi@ansible.com>
+#
+# This file is part of Ansible
+#
+# Ansible is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Ansible is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+'''
+Compat module for Python2.7's unittest module
+'''
+
+import sys
+
+# Allow wildcard import because we really do want to import all of
+# unittests's symbols into this compat shim
+# pylint: disable=wildcard-import,unused-wildcard-import
+if sys.version_info < (2, 7):
+ try:
+ # Need unittest2 on python2.6
+ from unittest2 import *
+ except ImportError:
+ print('You need unittest2 installed on python2.6.x to run tests')
+else:
+ from unittest import *
diff --git a/ansible_collections/community/aws/tests/unit/constraints.txt b/ansible_collections/community/aws/tests/unit/constraints.txt
new file mode 100644
index 000000000..cd546e7c2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/constraints.txt
@@ -0,0 +1,7 @@
+# Specifically run tests against the oldest versions that we support
+boto3==1.18.0
+botocore==1.21.0
+
+# AWS CLI has `botocore==` dependencies, provide the one that matches botocore
+# to avoid needing to download over a years worth of awscli wheels.
+awscli==1.20.0
diff --git a/ansible_collections/community/aws/tests/unit/mock/__init__.py b/ansible_collections/community/aws/tests/unit/mock/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/mock/__init__.py
diff --git a/ansible_collections/community/aws/tests/unit/mock/loader.py b/ansible_collections/community/aws/tests/unit/mock/loader.py
new file mode 100644
index 000000000..00a584127
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/mock/loader.py
@@ -0,0 +1,116 @@
+# (c) 2012-2014, Michael DeHaan <michael.dehaan@gmail.com>
+#
+# This file is part of Ansible
+#
+# Ansible is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Ansible is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import os
+
+from ansible.errors import AnsibleParserError
+from ansible.parsing.dataloader import DataLoader
+from ansible.module_utils._text import to_bytes, to_text
+
+
+class DictDataLoader(DataLoader):
+
+ def __init__(self, file_mapping=None):
+ file_mapping = {} if file_mapping is None else file_mapping
+ assert type(file_mapping) == dict
+
+ super(DictDataLoader, self).__init__()
+
+ self._file_mapping = file_mapping
+ self._build_known_directories()
+ self._vault_secrets = None
+
+ def load_from_file(self, path, cache=True, unsafe=False):
+ path = to_text(path)
+ if path in self._file_mapping:
+ return self.load(self._file_mapping[path], path)
+ return None
+
+ # TODO: the real _get_file_contents returns a bytestring, so we actually convert the
+ # unicode/text it's created with to utf-8
+ def _get_file_contents(self, file_name):
+ file_name = to_text(file_name)
+ if file_name in self._file_mapping:
+ return (to_bytes(self._file_mapping[file_name]), False)
+ else:
+ raise AnsibleParserError("file not found: %s" % file_name)
+
+ def path_exists(self, path):
+ path = to_text(path)
+ return path in self._file_mapping or path in self._known_directories
+
+ def is_file(self, path):
+ path = to_text(path)
+ return path in self._file_mapping
+
+ def is_directory(self, path):
+ path = to_text(path)
+ return path in self._known_directories
+
+ def list_directory(self, path):
+ ret = []
+ path = to_text(path)
+ for x in (list(self._file_mapping.keys()) + self._known_directories):
+ if x.startswith(path):
+ if os.path.dirname(x) == path:
+ ret.append(os.path.basename(x))
+ return ret
+
+ def is_executable(self, path):
+ # FIXME: figure out a way to make paths return true for this
+ return False
+
+ def _add_known_directory(self, directory):
+ if directory not in self._known_directories:
+ self._known_directories.append(directory)
+
+ def _build_known_directories(self):
+ self._known_directories = []
+ for path in self._file_mapping:
+ dirname = os.path.dirname(path)
+ while dirname not in ('/', ''):
+ self._add_known_directory(dirname)
+ dirname = os.path.dirname(dirname)
+
+ def push(self, path, content):
+ rebuild_dirs = False
+ if path not in self._file_mapping:
+ rebuild_dirs = True
+
+ self._file_mapping[path] = content
+
+ if rebuild_dirs:
+ self._build_known_directories()
+
+ def pop(self, path):
+ if path in self._file_mapping:
+ del self._file_mapping[path]
+ self._build_known_directories()
+
+ def clear(self):
+ self._file_mapping = dict()
+ self._known_directories = []
+
+ def get_basedir(self):
+ return os.getcwd()
+
+ def set_vault_secrets(self, vault_secrets):
+ self._vault_secrets = vault_secrets
diff --git a/ansible_collections/community/aws/tests/unit/mock/path.py b/ansible_collections/community/aws/tests/unit/mock/path.py
new file mode 100644
index 000000000..676b35ab8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/mock/path.py
@@ -0,0 +1,10 @@
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+from ansible_collections.community.aws.tests.unit.compat.mock import MagicMock
+from ansible.utils.path import unfrackpath
+
+
+mock_unfrackpath_noop = MagicMock(spec_set=unfrackpath, side_effect=lambda x, *args, **kwargs: x)
diff --git a/ansible_collections/community/aws/tests/unit/mock/procenv.py b/ansible_collections/community/aws/tests/unit/mock/procenv.py
new file mode 100644
index 000000000..e516a9458
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/mock/procenv.py
@@ -0,0 +1,90 @@
+# (c) 2016, Matt Davis <mdavis@ansible.com>
+# (c) 2016, Toshio Kuratomi <tkuratomi@ansible.com>
+#
+# This file is part of Ansible
+#
+# Ansible is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Ansible is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import sys
+import json
+
+from contextlib import contextmanager
+from io import BytesIO, StringIO
+from ansible_collections.community.aws.tests.unit.compat import unittest
+from ansible.module_utils.six import PY3
+from ansible.module_utils._text import to_bytes
+
+
+@contextmanager
+def swap_stdin_and_argv(stdin_data='', argv_data=tuple()):
+ """
+ context manager that temporarily masks the test runner's values for stdin and argv
+ """
+ real_stdin = sys.stdin
+ real_argv = sys.argv
+
+ if PY3:
+ fake_stream = StringIO(stdin_data)
+ fake_stream.buffer = BytesIO(to_bytes(stdin_data))
+ else:
+ fake_stream = BytesIO(to_bytes(stdin_data))
+
+ try:
+ sys.stdin = fake_stream
+ sys.argv = argv_data
+
+ yield
+ finally:
+ sys.stdin = real_stdin
+ sys.argv = real_argv
+
+
+@contextmanager
+def swap_stdout():
+ """
+ context manager that temporarily replaces stdout for tests that need to verify output
+ """
+ old_stdout = sys.stdout
+
+ if PY3:
+ fake_stream = StringIO()
+ else:
+ fake_stream = BytesIO()
+
+ try:
+ sys.stdout = fake_stream
+
+ yield fake_stream
+ finally:
+ sys.stdout = old_stdout
+
+
+class ModuleTestCase(unittest.TestCase):
+ def setUp(self, module_args=None):
+ if module_args is None:
+ module_args = {'_ansible_remote_tmp': '/tmp', '_ansible_keep_remote_files': False}
+
+ args = json.dumps(dict(ANSIBLE_MODULE_ARGS=module_args))
+
+ # unittest doesn't have a clean place to use a context manager, so we have to enter/exit manually
+ self.stdin_swap = swap_stdin_and_argv(stdin_data=args)
+ self.stdin_swap.__enter__()
+
+ def tearDown(self):
+ # unittest doesn't have a clean place to use a context manager, so we have to enter/exit manually
+ self.stdin_swap.__exit__(None, None, None)
diff --git a/ansible_collections/community/aws/tests/unit/mock/vault_helper.py b/ansible_collections/community/aws/tests/unit/mock/vault_helper.py
new file mode 100644
index 000000000..b54629da4
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/mock/vault_helper.py
@@ -0,0 +1,27 @@
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+from ansible.module_utils._text import to_bytes
+
+from ansible.parsing.vault import VaultSecret
+
+
+class TextVaultSecret(VaultSecret):
+ '''A secret piece of text. ie, a password. Tracks text encoding.
+
+ The text encoding of the text may not be the default text encoding so
+ we keep track of the encoding so we encode it to the same bytes.'''
+
+ def __init__(self, text, encoding=None, errors=None, _bytes=None):
+ super(TextVaultSecret, self).__init__()
+ self.text = text
+ self.encoding = encoding or 'utf-8'
+ self._bytes = _bytes
+ self.errors = errors or 'strict'
+
+ @property
+ def bytes(self):
+ '''The text encoded with encoding, unless we specifically set _bytes.'''
+ return self._bytes or to_bytes(self.text, encoding=self.encoding, errors=self.errors)
diff --git a/ansible_collections/community/aws/tests/unit/mock/yaml_helper.py b/ansible_collections/community/aws/tests/unit/mock/yaml_helper.py
new file mode 100644
index 000000000..a646c0241
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/mock/yaml_helper.py
@@ -0,0 +1,126 @@
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import io
+import yaml
+
+from ansible.module_utils.six import PY3
+from ansible.parsing.yaml.loader import AnsibleLoader
+from ansible.parsing.yaml.dumper import AnsibleDumper
+
+
+class YamlTestUtils(object):
+ """Mixin class to combine with a unittest.TestCase subclass."""
+ def _loader(self, stream):
+ """Vault related tests will want to override this.
+
+ Vault cases should setup a AnsibleLoader that has the vault password."""
+ return AnsibleLoader(stream)
+
+ def _dump_stream(self, obj, stream, dumper=None):
+ """Dump to a py2-unicode or py3-string stream."""
+ if PY3:
+ return yaml.dump(obj, stream, Dumper=dumper)
+ else:
+ return yaml.dump(obj, stream, Dumper=dumper, encoding=None)
+
+ def _dump_string(self, obj, dumper=None):
+ """Dump to a py2-unicode or py3-string"""
+ if PY3:
+ return yaml.dump(obj, Dumper=dumper)
+ else:
+ return yaml.dump(obj, Dumper=dumper, encoding=None)
+
+ def _dump_load_cycle(self, obj):
+ # Each pass though a dump or load revs the 'generation'
+ # obj to yaml string
+ string_from_object_dump = self._dump_string(obj, dumper=AnsibleDumper)
+
+ # wrap a stream/file like StringIO around that yaml
+ stream_from_object_dump = io.StringIO(string_from_object_dump)
+ loader = self._loader(stream_from_object_dump)
+ # load the yaml stream to create a new instance of the object (gen 2)
+ obj_2 = loader.get_data()
+
+ # dump the gen 2 objects directory to strings
+ string_from_object_dump_2 = self._dump_string(obj_2,
+ dumper=AnsibleDumper)
+
+ # The gen 1 and gen 2 yaml strings
+ self.assertEqual(string_from_object_dump, string_from_object_dump_2)
+ # the gen 1 (orig) and gen 2 py object
+ self.assertEqual(obj, obj_2)
+
+ # again! gen 3... load strings into py objects
+ stream_3 = io.StringIO(string_from_object_dump_2)
+ loader_3 = self._loader(stream_3)
+ obj_3 = loader_3.get_data()
+
+ string_from_object_dump_3 = self._dump_string(obj_3, dumper=AnsibleDumper)
+
+ self.assertEqual(obj, obj_3)
+ # should be transitive, but...
+ self.assertEqual(obj_2, obj_3)
+ self.assertEqual(string_from_object_dump, string_from_object_dump_3)
+
+ def _old_dump_load_cycle(self, obj):
+ '''Dump the passed in object to yaml, load it back up, dump again, compare.'''
+ stream = io.StringIO()
+
+ yaml_string = self._dump_string(obj, dumper=AnsibleDumper)
+ self._dump_stream(obj, stream, dumper=AnsibleDumper)
+
+ yaml_string_from_stream = stream.getvalue()
+
+ # reset stream
+ stream.seek(0)
+
+ loader = self._loader(stream)
+ # loader = AnsibleLoader(stream, vault_password=self.vault_password)
+ obj_from_stream = loader.get_data()
+
+ stream_from_string = io.StringIO(yaml_string)
+ loader2 = self._loader(stream_from_string)
+ # loader2 = AnsibleLoader(stream_from_string, vault_password=self.vault_password)
+ obj_from_string = loader2.get_data()
+
+ stream_obj_from_stream = io.StringIO()
+ stream_obj_from_string = io.StringIO()
+
+ if PY3:
+ yaml.dump(obj_from_stream, stream_obj_from_stream, Dumper=AnsibleDumper)
+ yaml.dump(obj_from_stream, stream_obj_from_string, Dumper=AnsibleDumper)
+ else:
+ yaml.dump(obj_from_stream, stream_obj_from_stream, Dumper=AnsibleDumper, encoding=None)
+ yaml.dump(obj_from_stream, stream_obj_from_string, Dumper=AnsibleDumper, encoding=None)
+
+ yaml_string_stream_obj_from_stream = stream_obj_from_stream.getvalue()
+ yaml_string_stream_obj_from_string = stream_obj_from_string.getvalue()
+
+ stream_obj_from_stream.seek(0)
+ stream_obj_from_string.seek(0)
+
+ if PY3:
+ yaml_string_obj_from_stream = yaml.dump(obj_from_stream, Dumper=AnsibleDumper)
+ yaml_string_obj_from_string = yaml.dump(obj_from_string, Dumper=AnsibleDumper)
+ else:
+ yaml_string_obj_from_stream = yaml.dump(obj_from_stream, Dumper=AnsibleDumper, encoding=None)
+ yaml_string_obj_from_string = yaml.dump(obj_from_string, Dumper=AnsibleDumper, encoding=None)
+
+ assert yaml_string == yaml_string_obj_from_stream
+ assert yaml_string == yaml_string_obj_from_stream == yaml_string_obj_from_string
+ assert (yaml_string == yaml_string_obj_from_stream == yaml_string_obj_from_string == yaml_string_stream_obj_from_stream ==
+ yaml_string_stream_obj_from_string)
+ assert obj == obj_from_stream
+ assert obj == obj_from_string
+ assert obj == yaml_string_obj_from_stream
+ assert obj == yaml_string_obj_from_string
+ assert obj == obj_from_stream == obj_from_string == yaml_string_obj_from_stream == yaml_string_obj_from_string
+ return {'obj': obj,
+ 'yaml_string': yaml_string,
+ 'yaml_string_from_stream': yaml_string_from_stream,
+ 'obj_from_stream': obj_from_stream,
+ 'obj_from_string': obj_from_string,
+ 'yaml_string_obj_from_string': yaml_string_obj_from_string}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/__init__.py b/ansible_collections/community/aws/tests/unit/plugins/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/__init__.py
diff --git a/ansible_collections/community/aws/tests/unit/plugins/connection/__init__.py b/ansible_collections/community/aws/tests/unit/plugins/connection/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/connection/__init__.py
diff --git a/ansible_collections/community/aws/tests/unit/plugins/connection/test_aws_ssm.py b/ansible_collections/community/aws/tests/unit/plugins/connection/test_aws_ssm.py
new file mode 100644
index 000000000..579cafc16
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/connection/test_aws_ssm.py
@@ -0,0 +1,181 @@
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+from io import StringIO
+import pytest
+
+from ansible_collections.community.aws.tests.unit.compat.mock import patch, MagicMock
+from ansible.playbook.play_context import PlayContext
+from ansible.plugins.loader import connection_loader
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import HAS_BOTO3
+
+if not HAS_BOTO3:
+ pytestmark = pytest.mark.skip("test_data_pipeline.py requires the python modules 'boto3' and 'botocore'")
+
+
+class TestConnectionBaseClass():
+
+ @patch('os.path.exists')
+ @patch('subprocess.Popen')
+ @patch('select.poll')
+ @patch('boto3.client')
+ def test_plugins_connection_aws_ssm_start_session(self, boto_client, s_poll, s_popen, mock_ospe):
+ pc = PlayContext()
+ new_stdin = StringIO()
+ conn = connection_loader.get('community.aws.aws_ssm', pc, new_stdin)
+ conn.get_option = MagicMock()
+ conn.get_option.side_effect = ['i1234', 'executable', 'abcd', 'i1234']
+ conn.host = 'abc'
+ mock_ospe.return_value = True
+ boto3 = MagicMock()
+ boto3.client('ssm').return_value = MagicMock()
+ conn.start_session = MagicMock()
+ conn._session_id = MagicMock()
+ conn._session_id.return_value = 's1'
+ s_popen.return_value.stdin.write = MagicMock()
+ s_poll.return_value = MagicMock()
+ s_poll.return_value.register = MagicMock()
+ s_popen.return_value.poll = MagicMock()
+ s_popen.return_value.poll.return_value = None
+ conn._stdin_readline = MagicMock()
+ conn._stdin_readline.return_value = 'abc123'
+ conn.SESSION_START = 'abc'
+ conn.start_session()
+
+ @patch('random.choice')
+ def test_plugins_connection_aws_ssm_exec_command(self, r_choice):
+ pc = PlayContext()
+ new_stdin = StringIO()
+ conn = connection_loader.get('community.aws.aws_ssm', pc, new_stdin)
+ r_choice.side_effect = ['a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'b']
+ conn.MARK_LENGTH = 5
+ conn._session = MagicMock()
+ conn._session.stdin.write = MagicMock()
+ conn._wrap_command = MagicMock()
+ conn._wrap_command.return_value = 'cmd1'
+ conn._flush_stderr = MagicMock()
+ conn._windows = MagicMock()
+ conn._windows.return_value = True
+ conn._session.poll = MagicMock()
+ conn._session.poll.return_value = None
+ conn._timeout = MagicMock()
+ conn._poll_stdout = MagicMock()
+ conn._poll_stdout.poll = MagicMock()
+ conn._poll_stdout.poll.return_value = True
+ conn._session.stdout = MagicMock()
+ conn._session.stdout.readline = MagicMock()
+ conn._post_process = MagicMock()
+ conn._post_process.return_value = 'test'
+ conn._session.stdout.readline.side_effect = iter(['aaaaa\n', 'Hi\n', '0\n', 'bbbbb\n'])
+ conn.get_option = MagicMock()
+ conn.get_option.return_value = 1
+ returncode = 'a'
+ stdout = 'b'
+ return (returncode, stdout, conn._flush_stderr)
+
+ def test_plugins_connection_aws_ssm_prepare_terminal(self):
+ pc = PlayContext()
+ new_stdin = StringIO()
+ conn = connection_loader.get('community.aws.aws_ssm', pc, new_stdin)
+ conn.is_windows = MagicMock()
+ conn.is_windows.return_value = True
+
+ def test_plugins_connection_aws_ssm_wrap_command(self):
+ pc = PlayContext()
+ new_stdin = StringIO()
+ conn = connection_loader.get('community.aws.aws_ssm', pc, new_stdin)
+ conn.is_windows = MagicMock()
+ conn.is_windows.return_value = True
+ return 'windows1'
+
+ def test_plugins_connection_aws_ssm_post_process(self):
+ pc = PlayContext()
+ new_stdin = StringIO()
+ conn = connection_loader.get('community.aws.aws_ssm', pc, new_stdin)
+ conn.is_windows = MagicMock()
+ conn.is_windows.return_value = True
+ conn.stdout = MagicMock()
+ returncode = 0
+ return returncode, conn.stdout
+
+ @patch('subprocess.Popen')
+ def test_plugins_connection_aws_ssm_flush_stderr(self, s_popen):
+ pc = PlayContext()
+ new_stdin = StringIO()
+ conn = connection_loader.get('community.aws.aws_ssm', pc, new_stdin)
+ conn.poll_stderr = MagicMock()
+ conn.poll_stderr.register = MagicMock()
+ conn.stderr = None
+ s_popen.poll().return_value = 123
+ return conn.stderr
+
+ # XXX This isn't doing anything
+ # def test_plugins_connection_aws_ssm_get_url(self):
+ # pc = PlayContext()
+ # new_stdin = StringIO()
+ # connection_loader.get('community.aws.aws_ssm', pc, new_stdin)
+ # boto3 = MagicMock()
+ # boto3.client('s3').return_value = MagicMock()
+ # boto3.generate_presigned_url.return_value = MagicMock()
+ # return (boto3.generate_presigned_url.return_value)
+
+ @patch('os.path.exists')
+ def test_plugins_connection_aws_ssm_put_file(self, mock_ospe):
+ pc = PlayContext()
+ new_stdin = StringIO()
+ conn = connection_loader.get('community.aws.aws_ssm', pc, new_stdin)
+ conn._connect = MagicMock()
+ conn._file_transport_command = MagicMock()
+ conn._file_transport_command.return_value = (0, 'stdout', 'stderr')
+ conn.put_file('/in/file', '/out/file')
+
+ def test_plugins_connection_aws_ssm_fetch_file(self):
+ pc = PlayContext()
+ new_stdin = StringIO()
+ conn = connection_loader.get('community.aws.aws_ssm', pc, new_stdin)
+ conn._connect = MagicMock()
+ conn._file_transport_command = MagicMock()
+ conn._file_transport_command.return_value = (0, 'stdout', 'stderr')
+ conn.fetch_file('/in/file', '/out/file')
+
+ @patch('subprocess.check_output')
+ @patch('boto3.client')
+ def test_plugins_connection_file_transport_command(self, boto_client, s_check_output):
+ pc = PlayContext()
+ new_stdin = StringIO()
+ conn = connection_loader.get('community.aws.aws_ssm', pc, new_stdin)
+ conn.get_option = MagicMock()
+ conn.get_option.side_effect = ['1', '2', '3', '4', '5']
+ conn._get_url = MagicMock()
+ conn._get_url.side_effect = ['url1', 'url2']
+ boto3 = MagicMock()
+ boto3.client('s3').return_value = MagicMock()
+ conn.get_option.return_value = 1
+ get_command = MagicMock()
+ put_command = MagicMock()
+ conn.exec_command = MagicMock()
+ conn.exec_command.return_value = (put_command, None, False)
+ conn.download_fileobj = MagicMock()
+ conn.exec_command(put_command, in_data=None, sudoable=False)
+ conn.exec_command(get_command, in_data=None, sudoable=False)
+
+ @patch('subprocess.check_output')
+ def test_plugins_connection_aws_ssm_close(self, s_check_output):
+ pc = PlayContext()
+ new_stdin = StringIO()
+ conn = connection_loader.get('community.aws.aws_ssm', pc, new_stdin)
+ conn.instance_id = "i-12345"
+ conn._session_id = True
+ conn.get_option = MagicMock()
+ conn.get_option.side_effect = ["/abc", "pqr"]
+ conn._session = MagicMock()
+ conn._session.terminate = MagicMock()
+ conn._session.communicate = MagicMock()
+ conn._terminate_session = MagicMock()
+ conn._terminate_session.return_value = ''
+ conn._session_id = MagicMock()
+ conn._session_id.return_value = 'a'
+ conn._client = MagicMock()
+ conn.close()
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/__init__.py b/ansible_collections/community/aws/tests/unit/plugins/modules/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/__init__.py
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/conftest.py b/ansible_collections/community/aws/tests/unit/plugins/modules/conftest.py
new file mode 100644
index 000000000..a7d1e0475
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/conftest.py
@@ -0,0 +1,31 @@
+# Copyright (c) 2017 Ansible Project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import json
+
+import pytest
+
+from ansible.module_utils.six import string_types
+from ansible.module_utils._text import to_bytes
+from ansible.module_utils.common._collections_compat import MutableMapping
+
+
+@pytest.fixture
+def patch_ansible_module(request, mocker):
+ if isinstance(request.param, string_types):
+ args = request.param
+ elif isinstance(request.param, MutableMapping):
+ if 'ANSIBLE_MODULE_ARGS' not in request.param:
+ request.param = {'ANSIBLE_MODULE_ARGS': request.param}
+ if '_ansible_remote_tmp' not in request.param['ANSIBLE_MODULE_ARGS']:
+ request.param['ANSIBLE_MODULE_ARGS']['_ansible_remote_tmp'] = '/tmp'
+ if '_ansible_keep_remote_files' not in request.param['ANSIBLE_MODULE_ARGS']:
+ request.param['ANSIBLE_MODULE_ARGS']['_ansible_keep_remote_files'] = False
+ args = json.dumps(request.param)
+ else:
+ raise Exception('Malformed data to the patch_ansible_module pytest fixture')
+
+ mocker.patch('ansible.module_utils.basic._ANSIBLE_ARGS', to_bytes(args))
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/__init__.py b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/__init__.py
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/a.pem b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/a.pem
new file mode 100644
index 000000000..4412f3258
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/a.pem
@@ -0,0 +1,31 @@
+-----BEGIN CERTIFICATE-----
+MIIFVTCCBD2gAwIBAgISAx4pnfwvGxYrrQhr/UXiN7HCMA0GCSqGSIb3DQEBCwUA
+MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
+ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xOTA3MjUwMDI4NTdaFw0x
+OTEwMjMwMDI4NTdaMBoxGDAWBgNVBAMTD2NyeXB0b2dyYXBoeS5pbzCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKJDpCL99DVo83587MrVp6gunmKRoUfY
+vcgk5u2v0tB9OmZkcIY37z6AunHWr18Yj55zHmm6G8Nf35hmu3ql2A26WThCbmOe
+WXbxhgarkningZI9opUWnI2dIllguVIsq99GzhpNnDdCb26s5+SRhJI4cr4hYaKC
+XGDKooKWyXUX09SJTq7nW/1+pq3y9ZMvldRKjJALeAdwnC7kmUB6pK7q8J2VlpfQ
+wqGu6q/WHVdgnhWARw3GEFJWDn9wkxBAF08CpzhVaEj+iK+Ut/1HBgNYwqI47h7S
+q+qv0G2qklRVUtEM0zYRsp+y/6vivdbFLlPw8VaerbpJN3gLtpVNcGECAwEAAaOC
+AmMwggJfMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYB
+BQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUjbe0bE1aZ8HiqtwqUfCe15bF
+V8UwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwbwYIKwYBBQUHAQEE
+YzBhMC4GCCsGAQUFBzABhiJodHRwOi8vb2NzcC5pbnQteDMubGV0c2VuY3J5cHQu
+b3JnMC8GCCsGAQUFBzAChiNodHRwOi8vY2VydC5pbnQteDMubGV0c2VuY3J5cHQu
+b3JnLzAaBgNVHREEEzARgg9jcnlwdG9ncmFwaHkuaW8wTAYDVR0gBEUwQzAIBgZn
+gQwBAgEwNwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5s
+ZXRzZW5jcnlwdC5vcmcwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdgB0ftqDMa0z
+EJEhnM4lT0Jwwr/9XkIgCMY3NXnmEHvMVgAAAWwmvtnXAAAEAwBHMEUCIFXHYX/E
+xtbYCvjjQ3dN0HOLW1d8+aduktmax4mu3KszAiEAvTpxuSVVXJnVGA4tU2GOnI60
+sqTh/IK6hvrFN1k1HBUAdQApPFGWVMg5ZbqqUPxYB9S3b79Yeily3KTDDPTlRUf0
+eAAAAWwmvtm9AAAEAwBGMEQCIDn7sgzD+7JzR+XTvjKf7VyLWwX37O8uwCfCTKo7
++tEhAiB05bHiICU5wkfRBrwcvqXf4bPF7NT5LVlRQYzJ/hbpvzANBgkqhkiG9w0B
+AQsFAAOCAQEAcMU8E6D+5WC07QSeTppRTboC++7YgQg5NiSWm7OE2FlyiRZXnu0Y
+uBoaqAkZIqj7dom9wy1c1UauxOfM9lUZKhYnDTBu9tIhBAvCS0J0avv1j1KQygQ1
+qV+urJsunUwqV/vPWo1GfWophvyXVN6MAycv34ZXZvAjtG7oDcoQVLLvK1SIo2vu
+4/dNkOQzaeZez8q6Ij9762TbBWaK5C789VMdUWZCADWoToPIK533cWbDEp4IhBU/
+K73d7lGGl7S59SjT2V/XE6eJS9Zlj0M+A8pf/8tjM/ImHAjlOHB02sM/VfZ7HAuZ
+61TPxohL+e+X1FYeqIXYGXJmCEuB8WEmBg==
+-----END CERTIFICATE-----
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/b.pem b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/b.pem
new file mode 100644
index 000000000..2be4bca53
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/b.pem
@@ -0,0 +1,47 @@
+-----BEGIN CERTIFICATE-----
+MIIIUjCCB/egAwIBAgIRALiJR3zQjp0MevT/Hk89sfAwCgYIKoZIzj0EAwIwgZIx
+CzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNV
+BAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTgwNgYDVQQD
+Ey9DT01PRE8gRUNDIERvbWFpbiBWYWxpZGF0aW9uIFNlY3VyZSBTZXJ2ZXIgQ0Eg
+MjAeFw0xOTA3MzEwMDAwMDBaFw0yMDAyMDYyMzU5NTlaMGwxITAfBgNVBAsTGERv
+bWFpbiBDb250cm9sIFZhbGlkYXRlZDEhMB8GA1UECxMYUG9zaXRpdmVTU0wgTXVs
+dGktRG9tYWluMSQwIgYDVQQDExtzc2wzODczMzcuY2xvdWRmbGFyZXNzbC5jb20w
+WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARPFdjdnBIJRPnHCPsCBJ/MmPytXnZX
+KV6lD2bbG5EVNuUQln4Na8heCY+sfpV+SPuuiNzZxgDA46GvyzdRYFhxo4IGUTCC
+Bk0wHwYDVR0jBBgwFoAUQAlhZ/C8g3FP3hIILG/U1Ct2PZYwHQYDVR0OBBYEFGLh
+bHk1KAYIRfVwXA3L+yDf0CxjMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAA
+MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBPBgNVHSAESDBGMDoGCysG
+AQQBsjEBAgIHMCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5j
+b20vQ1BTMAgGBmeBDAECATBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLmNv
+bW9kb2NhNC5jb20vQ09NT0RPRUNDRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZl
+ckNBMi5jcmwwgYgGCCsGAQUFBwEBBHwwejBRBggrBgEFBQcwAoZFaHR0cDovL2Ny
+dC5jb21vZG9jYTQuY29tL0NPTU9ET0VDQ0RvbWFpblZhbGlkYXRpb25TZWN1cmVT
+ZXJ2ZXJDQTIuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC5jb21vZG9jYTQu
+Y29tMIIDkAYDVR0RBIIDhzCCA4OCG3NzbDM4NzMzNy5jbG91ZGZsYXJlc3NsLmNv
+bYIMKi5hanJ0Y3QuY29tghMqLmFrcmVwYnVyY3UuZ2VuLnRyghUqLmFuZHJlYXNr
+YW5lbGxvcy5jb22CDSouYW5zaWJsZS5jb22CGSouYXJ0b2Z0b3VjaC1raW5nd29v
+ZC5jb22CFyouYm91bGRlcnN3YXRlcmhvbGUuY29tghcqLmJyb2Nrc3RlY2hzdXBw
+b3J0LmNvbYIQKi5idXJjbGFyLndlYi50coIcKi5ob3Blc29uZ2ZyZW5jaGJ1bGxk
+b2dzLm5ldIIMKi5odXJyZW0uY29tghAqLmh5dmVsaWNvbnMuY29tghAqLmthcm1h
+Zml0LmNvLnVrghUqLmxvd3J5c3lzdGVtc2luYy5jb22CDioubWFuaWNydW4uY29t
+ghUqLm11dHVvZmluYW5jaWVyYS5jb22CDyoucGlsZ3JpbWFnZS5waIINKi5wa2dh
+bWVzLm9yZ4IbKi5ybHBjb25zdWx0aW5nc2VydmljZXMuY29tghYqLnJ1eWF0YWJp
+cmxlcmkuZ2VuLnRyghQqLnJ5YW5hcHBoeXNpY3NjLmNvbYIVKi53ZWFyaXRiYWNr
+d2FyZHMub3Jngg8qLnlldGlzbmFjay5jb22CCmFqcnRjdC5jb22CEWFrcmVwYnVy
+Y3UuZ2VuLnRyghNhbmRyZWFza2FuZWxsb3MuY29tggthbnNpYmxlLmNvbYIXYXJ0
+b2Z0b3VjaC1raW5nd29vZC5jb22CFWJvdWxkZXJzd2F0ZXJob2xlLmNvbYIVYnJv
+Y2tzdGVjaHN1cHBvcnQuY29tgg5idXJjbGFyLndlYi50coIaaG9wZXNvbmdmcmVu
+Y2hidWxsZG9ncy5uZXSCCmh1cnJlbS5jb22CDmh5dmVsaWNvbnMuY29tgg5rYXJt
+YWZpdC5jby51a4ITbG93cnlzeXN0ZW1zaW5jLmNvbYIMbWFuaWNydW4uY29tghNt
+dXR1b2ZpbmFuY2llcmEuY29tgg1waWxncmltYWdlLnBoggtwa2dhbWVzLm9yZ4IZ
+cmxwY29uc3VsdGluZ3NlcnZpY2VzLmNvbYIUcnV5YXRhYmlybGVyaS5nZW4udHKC
+EnJ5YW5hcHBoeXNpY3NjLmNvbYITd2Vhcml0YmFja3dhcmRzLm9yZ4INeWV0aXNu
+YWNrLmNvbTCCAQQGCisGAQQB1nkCBAIEgfUEgfIA8AB2ALIeBcyLos2KIE6HZvkr
+uYolIGdr2vpw57JJUy3vi5BeAAABbEVw8SgAAAQDAEcwRQIgE2YeTfb/d4BBUwpZ
+ihWXSR+vRyNNUg8GlOak2MFMHv0CIQCLBvtU401m5/Psg9KirQZs321BSxgUKgSQ
+m9M691d3eQB2AF6nc/nfVsDntTZIfdBJ4DJ6kZoMhKESEoQYdZaBcUVYAAABbEVw
+8VgAAAQDAEcwRQIgGYsGfr3/mekjzMS9+ALAjx1ryfIfhXB/+UghTcw4Y8ICIQDS
+K2L18WX3+Oh4TjJhjh5tV1iYyZVYivcwwbr7mtmOqjAKBggqhkjOPQQDAgNJADBG
+AiEAjNt7LF78GV7snky9jwFcBsLH55ndzduvsrkJ7Ne1SgYCIQDsMJsTr9VP6kar
+4Kv8V9zNBmpGrGNuE7A1GixBvzNaHA==
+-----END CERTIFICATE-----
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.0.cert b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.0.cert
new file mode 100644
index 000000000..6997766ac
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.0.cert
@@ -0,0 +1,121 @@
+subject=/C=AU/ST=Victoria/L=Melbourne/O=Telstra Corporation Limited/OU=Telstra Energy/CN=dev.energy.inside.telstra.com
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+-----BEGIN CERTIFICATE-----
+MIIIHTCCBgWgAwIBAgIUCqrrzSfjzaoyB3DOxst2kMxFp/MwDQYJKoZIhvcNAQEL
+BQAwTTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxIzAh
+BgNVBAMTGlF1b1ZhZGlzIEdsb2JhbCBTU0wgSUNBIEczMB4XDTE5MDgyMTIyMjIy
+OFoXDTIxMDgyMTIyMzIwMFowgZsxCzAJBgNVBAYTAkFVMREwDwYDVQQIDAhWaWN0
+b3JpYTESMBAGA1UEBwwJTWVsYm91cm5lMSQwIgYDVQQKDBtUZWxzdHJhIENvcnBv
+cmF0aW9uIExpbWl0ZWQxFzAVBgNVBAsMDlRlbHN0cmEgRW5lcmd5MSYwJAYDVQQD
+DB1kZXYuZW5lcmd5Lmluc2lkZS50ZWxzdHJhLmNvbTCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAMPAPH2y206qios2NMzlCNJv1mrwC1/8tH2HOqJGiYZB
+O7QOBRSvJsV++IozCB8ap99e8B64OOAQPOyykrdXd2axhftmMb1SFMF56eukHSuz
+KhKWRUgHs0UFRU51lDcBcOvphwJ+5SOgqrqKFFFBgJ0ZpcP54JpFwKIdh3ac10x2
+mBaW5ccqdv5X9oEMu1D/yivBmy34tsbLYyfttCjP76iVT7UVYHjHWynnIhsEyMsU
+gdM90NzrTlrvTSi/EcCD1W3+8b0f+G1TI5rhHbKwR0n/mv5QLFm7EABoYPhxS8bX
+B+9tE67yb0RyWbgvUiHySRynQLNMRpRx8Y9bA8uC8n8CAwEAAaOCA6QwggOgMAkG
+A1UdEwQCMAAwHwYDVR0jBBgwFoAUsxKJtalLNbwVAPCA6dh4h/ETfHYwcwYIKwYB
+BQUHAQEEZzBlMDcGCCsGAQUFBzAChitodHRwOi8vdHJ1c3QucXVvdmFkaXNnbG9i
+YWwuY29tL3F2c3NsZzMuY3J0MCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5xdW92
+YWRpc2dsb2JhbC5jb20wgZ8GA1UdEQSBlzCBlIIdZGV2LmVuZXJneS5pbnNpZGUu
+dGVsc3RyYS5jb22CJXJlcG9ydHMuZGV2LmVuZXJneS5pbnNpZGUudGVsc3RyYS5j
+b22CJ2dyZWVuc3luYy5kZXYuZW5lcmd5Lmluc2lkZS50ZWxzdHJhLmNvbYIjbmdv
+c3MuZGV2LmVuZXJneS5pbnNpZGUudGVsc3RyYS5jb20wUQYDVR0gBEowSDBGBgwr
+BgEEAb5YAAJkAQEwNjA0BggrBgEFBQcCARYoaHR0cDovL3d3dy5xdW92YWRpc2ds
+b2JhbC5jb20vcmVwb3NpdG9yeTAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
+AwEwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5xdW92YWRpc2dsb2JhbC5j
+b20vcXZzc2xnMy5jcmwwHQYDVR0OBBYEFEoJQRpPC/V5ZK3mMkszZE2v6vh+MA4G
+A1UdDwEB/wQEAwIFoDCCAXwGCisGAQQB1nkCBAIEggFsBIIBaAFmAHUAVhQGmi/X
+wuzT9eG9RLI+x0Z2ubyZEVzA75SYVdaJ0N0AAAFstk9Y+gAABAMARjBEAiBFMZa6
+O9iXVjy2kqQa54vgNFdU7shgFJJhm//fSAQZUAIgBIL/yPdh+XiuQS2xPhCzNYkh
+bxf7BbN4qUISESgiZpsAdgBvU3asMfAxGdiZAKRRFf93FRwR2QLBACkGjbIImjfZ
+EwAAAWy2T1nKAAAEAwBHMEUCIG0tp63jLsDsfCTDlcvV5ItjRkbUJBnkxlPdP2PH
+88sTAiEApgaPofVdn2hdI12iDDex72ta+9wpwQ1MxoaJn2nt+qEAdQDuS723dc5g
+uuFCaR+r4Z5mow9+X7By2IMAxHuJeqj9ywAAAWy2T1iJAAAEAwBGMEQCIE/mzEFp
+CJUc71jvwJa4Px86R3ZYK4mHmUlQAUZqd0ZkAiBdEmT8xxTuleSUlYHEkKCK/FZX
+L+vsYJpPrA9TsO5IsTANBgkqhkiG9w0BAQsFAAOCAgEApE9WLz3S8tqA9Dk3r9LF
+rJy8km9cBt1O9SQZwFsduGKGdF3Fd+/Y0V7UrFDzrX+NIzqcmgBHKxaIXorMBF70
+ajMaaROP2ymkpEXnruEwoR47fbW+JRAWDRm2xnouQveQX9ZcgCLbBvAWBqpndQj2
+DGmLJhNz5GlFBjh3PQZlU1w8hU7TrDxa7M1GMtVnk8X+o3l/MX9iPeEs+PiC4dHD
+hpj84RY1VQJz8+10rql47SB5YgbwcqaizTG4ax/OAv1JHNWtfAodIMX8Y8X00zoz
+A20LQv880jCCNANVNbrXJ3h4X3xwW/C1X9vYk0shymZJbT5u17JbPD1cy39bA7kT
+F4L7scdQRxvcqazYN4/IdgvgMji9OltiYufP88Ti8KB2tcl2accpiC5St/zllGD1
+hqEeYLMzjyvUKR/1uvURQQtc0DPvBRmvkB+aI4g+sLkTTFWj5bsA1vKU8SDCyMuB
+RQV11DId5+RNNCmWnskORUZJQssvY49pnfCxCES2nt3l/XzTzVtLYmd6G9uAqVac
+e2ibnmDrFVlmlyRsCiMfZl5/OTJzt7Cj3az59m5Syfw/lnS9YP82t/r/ufuKkO5Q
+q5a9aI8DuNNmAjR4lpIJNqIpX/y+dG2aGmx4XTc31MR9szWtiTgOHe0MkMupOAL0
+qkHrBgwo1zjuTMf3QOg6Z5Q=
+-----END CERTIFICATE-----
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+MIIGFzCCA/+gAwIBAgIUftbnnMmtgcTIGT75XUQodw40ExcwDQYJKoZIhvcNAQEL
+BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
+BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjExMDYxNDUwMThaFw0y
+MjExMDYxNDUwMThaME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMzCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANf8Od17be6c6lTGJDhEXpmkTs4y
+Q39Rr5VJyBeWCg06nSS71s6xF3sZvKcV0MbXlXCYM2ZX7cNTbJ81gs7uDsKFp+vK
+EymiKyEiI2SImOtECNnSg+RVR4np/xz/UlC0yFUisH75cZsJ8T1pkGMfiEouR0EM
+7O0uFgoboRfUP582TTWy0F7ynSA6YfGKnKj0OFwZJmGHVkLs1VevWjhj3R1fsPan
+H05P5moePFnpQdj1FofoSxUHZ0c7VB+sUimboHm/uHNY1LOsk77qiSuVC5/yrdg3
+2EEfP/mxJYT4r/5UiD7VahySzeZHzZ2OibQm2AfgfMN3l57lCM3/WPQBhMAPS1jz
+kE+7MjajM2f0aZctimW4Hasrj8AQnfAdHqZehbhtXaAlffNEzCdpNK584oCTVR7N
+UR9iZFx83ruTqpo+GcLP/iSYqhM4g7fy45sNhU+IS+ca03zbxTl3TTlkofXunI5B
+xxE30eGSQpDZ5+iUJcEOAuVKrlYocFbB3KF45hwcbzPWQ1DcO2jFAapOtQzeS+MZ
+yZzT2YseJ8hQHKu8YrXZWwKaNfyl8kFkHUBDICowNEoZvBwRCQp8sgqL6YRZy0uD
+JGxmnC2e0BVKSjcIvmq/CRWH7yiTk9eWm73xrsg9iIyD/kwJEnLyIk8tR5V8p/hc
+1H2AjDrZH12PsZ45AgMBAAGjgfMwgfAwEgYDVR0TAQH/BAgwBgEB/wIBATARBgNV
+HSAECjAIMAYGBFUdIAAwOgYIKwYBBQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRw
+Oi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wDgYDVR0PAQH/BAQDAgEGMB8GA1Ud
+IwQYMBaAFO3nb3Zav2DsSVvGpXe7chZxm8Q9MDsGA1UdHwQ0MDIwMKAuoCyGKmh0
+dHA6Ly9jcmwucXVvdmFkaXNnbG9iYWwuY29tL3F2cmNhMmczLmNybDAdBgNVHQ4E
+FgQUsxKJtalLNbwVAPCA6dh4h/ETfHYwDQYJKoZIhvcNAQELBQADggIBAFGm1Fqp
+RMiKr7a6h707M+km36PVXZnX1NZocCn36MrfRvphotbOCDm+GmRkar9ZMGhc8c/A
+Vn7JSCjwF9jNOFIOUyNLq0w4luk+Pt2YFDbgF8IDdx53xIo8Gv05e9xpTvQYaIto
+qeHbQjGXfSGc91olfX6JUwZlxxbhdJH+rxTFAg0jcbqToJoScWTfXSr1QRcNbSTs
+Y4CPG6oULsnhVvrzgldGSK+DxFi2OKcDsOKkV7W4IGg8Do2L/M588AfBnV8ERzpl
+qgMBBQxC2+0N6RdFHbmZt0HQE/NIg1s0xcjGx1XW3YTOfje31rmAXKHOehm4Bu48
+gr8gePq5cdQ2W9tA0Dnytb9wzH2SyPPIXRI7yNxaX9H8wYeDeeiKSSmQtfh1v5cV
+7RXvm8F6hLJkkco/HOW3dAUwZFcKsUH+1eUJKLN18eDGwB8yGawjHvOKqcfg5Lf/
+TvC7hgcx7pDYaCCaqHaekgUwXbB2Enzqr1fdwoU1c01W5YuQAtAx5wk1bf34Yq/J
+ph7wNXGvo88N0/EfP9AdVGmJzy7VuRXeVAOyjKAIeADMlwpjBRhcbs9m3dkqvoMb
+SXKJxv/hFmNgEOvOlaFsXX1dbKg1v+C1AzKAFdiuAIa62JzASiEhigqNSdqdTsOh
+8W8hdONuKKpe9zKedhBFAvuxhDgKmnySglYc
+-----END CERTIFICATE-----
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL
+BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
+BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00
+MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf
+qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW
+n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym
+c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+
+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1
+o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j
+IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq
+IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz
+8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh
+vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l
+7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG
+cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
+BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD
+ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66
+AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC
+roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga
+W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n
+lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE
++V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV
+csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd
+dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg
+KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM
+HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4
+WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M
+-----END CERTIFICATE-----
+
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.1.cert b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.1.cert
new file mode 100644
index 000000000..51f64f08d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.1.cert
@@ -0,0 +1,69 @@
+subject=/C=AU/ST=Victoria/L=Melbourne/O=Telstra Corporation Limited/OU=Telstra Energy/CN=dev.energy.inside.telstra.com
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+-----BEGIN CERTIFICATE-----
+MIIIHTCCBgWgAwIBAgIUCqrrzSfjzaoyB3DOxst2kMxFp/MwDQYJKoZIhvcNAQELBQAwTTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxIzAh
+BgNVBAMTGlF1b1ZhZGlzIEdsb2JhbCBTU0wgSUNBIEczMB4XDTE5MDgyMTIyMjIyOFoXDTIxMDgyMTIyMzIwMFowgZsxCzAJBgNVBAYTAkFVMREwDwYDVQQIDAhWaWN0
+b3JpYTESMBAGA1UEBwwJTWVsYm91cm5lMSQwIgYDVQQKDBtUZWxzdHJhIENvcnBvcmF0aW9uIExpbWl0ZWQxFzAVBgNVBAsMDlRlbHN0cmEgRW5lcmd5MSYwJAYDVQQD
+DB1kZXYuZW5lcmd5Lmluc2lkZS50ZWxzdHJhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMPAPH2y206qios2NMzlCNJv1mrwC1/8tH2HOqJGiYZB
+O7QOBRSvJsV++IozCB8ap99e8B64OOAQPOyykrdXd2axhftmMb1SFMF56eukHSuzKhKWRUgHs0UFRU51lDcBcOvphwJ+5SOgqrqKFFFBgJ0ZpcP54JpFwKIdh3ac10x2
+mBaW5ccqdv5X9oEMu1D/yivBmy34tsbLYyfttCjP76iVT7UVYHjHWynnIhsEyMsUgdM90NzrTlrvTSi/EcCD1W3+8b0f+G1TI5rhHbKwR0n/mv5QLFm7EABoYPhxS8bX
+B+9tE67yb0RyWbgvUiHySRynQLNMRpRx8Y9bA8uC8n8CAwEAAaOCA6QwggOgMAkGA1UdEwQCMAAwHwYDVR0jBBgwFoAUsxKJtalLNbwVAPCA6dh4h/ETfHYwcwYIKwYB
+BQUHAQEEZzBlMDcGCCsGAQUFBzAChitodHRwOi8vdHJ1c3QucXVvdmFkaXNnbG9iYWwuY29tL3F2c3NsZzMuY3J0MCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5xdW92
+YWRpc2dsb2JhbC5jb20wgZ8GA1UdEQSBlzCBlIIdZGV2LmVuZXJneS5pbnNpZGUudGVsc3RyYS5jb22CJXJlcG9ydHMuZGV2LmVuZXJneS5pbnNpZGUudGVsc3RyYS5j
+b22CJ2dyZWVuc3luYy5kZXYuZW5lcmd5Lmluc2lkZS50ZWxzdHJhLmNvbYIjbmdvc3MuZGV2LmVuZXJneS5pbnNpZGUudGVsc3RyYS5jb20wUQYDVR0gBEowSDBGBgwr
+BgEEAb5YAAJkAQEwNjA0BggrBgEFBQcCARYoaHR0cDovL3d3dy5xdW92YWRpc2dsb2JhbC5jb20vcmVwb3NpdG9yeTAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
+AwEwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5xdW92YWRpc2dsb2JhbC5jb20vcXZzc2xnMy5jcmwwHQYDVR0OBBYEFEoJQRpPC/V5ZK3mMkszZE2v6vh+MA4G
+A1UdDwEB/wQEAwIFoDCCAXwGCisGAQQB1nkCBAIEggFsBIIBaAFmAHUAVhQGmi/XwuzT9eG9RLI+x0Z2ubyZEVzA75SYVdaJ0N0AAAFstk9Y+gAABAMARjBEAiBFMZa6
+O9iXVjy2kqQa54vgNFdU7shgFJJhm//fSAQZUAIgBIL/yPdh+XiuQS2xPhCzNYkhbxf7BbN4qUISESgiZpsAdgBvU3asMfAxGdiZAKRRFf93FRwR2QLBACkGjbIImjfZ
+EwAAAWy2T1nKAAAEAwBHMEUCIG0tp63jLsDsfCTDlcvV5ItjRkbUJBnkxlPdP2PH88sTAiEApgaPofVdn2hdI12iDDex72ta+9wpwQ1MxoaJn2nt+qEAdQDuS723dc5g
+uuFCaR+r4Z5mow9+X7By2IMAxHuJeqj9ywAAAWy2T1iJAAAEAwBGMEQCIE/mzEFpCJUc71jvwJa4Px86R3ZYK4mHmUlQAUZqd0ZkAiBdEmT8xxTuleSUlYHEkKCK/FZX
+L+vsYJpPrA9TsO5IsTANBgkqhkiG9w0BAQsFAAOCAgEApE9WLz3S8tqA9Dk3r9LFrJy8km9cBt1O9SQZwFsduGKGdF3Fd+/Y0V7UrFDzrX+NIzqcmgBHKxaIXorMBF70
+ajMaaROP2ymkpEXnruEwoR47fbW+JRAWDRm2xnouQveQX9ZcgCLbBvAWBqpndQj2DGmLJhNz5GlFBjh3PQZlU1w8hU7TrDxa7M1GMtVnk8X+o3l/MX9iPeEs+PiC4dHD
+hpj84RY1VQJz8+10rql47SB5YgbwcqaizTG4ax/OAv1JHNWtfAodIMX8Y8X00zozA20LQv880jCCNANVNbrXJ3h4X3xwW/C1X9vYk0shymZJbT5u17JbPD1cy39bA7kT
+F4L7scdQRxvcqazYN4/IdgvgMji9OltiYufP88Ti8KB2tcl2accpiC5St/zllGD1hqEeYLMzjyvUKR/1uvURQQtc0DPvBRmvkB+aI4g+sLkTTFWj5bsA1vKU8SDCyMuB
+RQV11DId5+RNNCmWnskORUZJQssvY49pnfCxCES2nt3l/XzTzVtLYmd6G9uAqVace2ibnmDrFVlmlyRsCiMfZl5/OTJzt7Cj3az59m5Syfw/lnS9YP82t/r/ufuKkO5Q
+q5a9aI8DuNNmAjR4lpIJNqIpX/y+dG2aGmx4XTc31MR9szWtiTgOHe0MkMupOAL0qkHrBgwo1zjuTMf3QOg6Z5Q=
+-----END CERTIFICATE-----
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+MIIGFzCCA/+gAwIBAgIUftbnnMmtgcTIGT75XUQodw40ExcwDQYJKoZIhvcNAQELBQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
+BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjExMDYxNDUwMThaFw0yMjExMDYxNDUwMThaME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANf8Od17be6c6lTGJDhEXpmkTs4y
+Q39Rr5VJyBeWCg06nSS71s6xF3sZvKcV0MbXlXCYM2ZX7cNTbJ81gs7uDsKFp+vKEymiKyEiI2SImOtECNnSg+RVR4np/xz/UlC0yFUisH75cZsJ8T1pkGMfiEouR0EM
+7O0uFgoboRfUP582TTWy0F7ynSA6YfGKnKj0OFwZJmGHVkLs1VevWjhj3R1fsPanH05P5moePFnpQdj1FofoSxUHZ0c7VB+sUimboHm/uHNY1LOsk77qiSuVC5/yrdg3
+2EEfP/mxJYT4r/5UiD7VahySzeZHzZ2OibQm2AfgfMN3l57lCM3/WPQBhMAPS1jzkE+7MjajM2f0aZctimW4Hasrj8AQnfAdHqZehbhtXaAlffNEzCdpNK584oCTVR7N
+UR9iZFx83ruTqpo+GcLP/iSYqhM4g7fy45sNhU+IS+ca03zbxTl3TTlkofXunI5BxxE30eGSQpDZ5+iUJcEOAuVKrlYocFbB3KF45hwcbzPWQ1DcO2jFAapOtQzeS+MZ
+yZzT2YseJ8hQHKu8YrXZWwKaNfyl8kFkHUBDICowNEoZvBwRCQp8sgqL6YRZy0uDJGxmnC2e0BVKSjcIvmq/CRWH7yiTk9eWm73xrsg9iIyD/kwJEnLyIk8tR5V8p/hc
+1H2AjDrZH12PsZ45AgMBAAGjgfMwgfAwEgYDVR0TAQH/BAgwBgEB/wIBATARBgNVHSAECjAIMAYGBFUdIAAwOgYIKwYBBQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRw
+Oi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wDgYDVR0PAQH/BAQDAgEGMB8GA1UdIwQYMBaAFO3nb3Zav2DsSVvGpXe7chZxm8Q9MDsGA1UdHwQ0MDIwMKAuoCyGKmh0
+dHA6Ly9jcmwucXVvdmFkaXNnbG9iYWwuY29tL3F2cmNhMmczLmNybDAdBgNVHQ4EFgQUsxKJtalLNbwVAPCA6dh4h/ETfHYwDQYJKoZIhvcNAQELBQADggIBAFGm1Fqp
+RMiKr7a6h707M+km36PVXZnX1NZocCn36MrfRvphotbOCDm+GmRkar9ZMGhc8c/AVn7JSCjwF9jNOFIOUyNLq0w4luk+Pt2YFDbgF8IDdx53xIo8Gv05e9xpTvQYaIto
+qeHbQjGXfSGc91olfX6JUwZlxxbhdJH+rxTFAg0jcbqToJoScWTfXSr1QRcNbSTsY4CPG6oULsnhVvrzgldGSK+DxFi2OKcDsOKkV7W4IGg8Do2L/M588AfBnV8ERzpl
+qgMBBQxC2+0N6RdFHbmZt0HQE/NIg1s0xcjGx1XW3YTOfje31rmAXKHOehm4Bu48gr8gePq5cdQ2W9tA0Dnytb9wzH2SyPPIXRI7yNxaX9H8wYeDeeiKSSmQtfh1v5cV
+7RXvm8F6hLJkkco/HOW3dAUwZFcKsUH+1eUJKLN18eDGwB8yGawjHvOKqcfg5Lf/TvC7hgcx7pDYaCCaqHaekgUwXbB2Enzqr1fdwoU1c01W5YuQAtAx5wk1bf34Yq/J
+ph7wNXGvo88N0/EfP9AdVGmJzy7VuRXeVAOyjKAIeADMlwpjBRhcbs9m3dkqvoMbSXKJxv/hFmNgEOvOlaFsXX1dbKg1v+C1AzKAFdiuAIa62JzASiEhigqNSdqdTsOh
+8W8hdONuKKpe9zKedhBFAvuxhDgKmnySglYc
+-----END CERTIFICATE-----
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
+BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf
+qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym
+c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1
+o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq
+IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh
+vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG
+cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD
+ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC
+roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n
+lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV
+csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg
+KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4
+WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M
+-----END CERTIFICATE-----
+
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.2.cert b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.2.cert
new file mode 100644
index 000000000..ce2992411
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.2.cert
@@ -0,0 +1,113 @@
+-----BEGIN CERTIFICATE-----
+MIIIHTCCBgWgAwIBAgIUCqrrzSfjzaoyB3DOxst2kMxFp/MwDQYJKoZIhvcNAQEL
+BQAwTTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxIzAh
+BgNVBAMTGlF1b1ZhZGlzIEdsb2JhbCBTU0wgSUNBIEczMB4XDTE5MDgyMTIyMjIy
+OFoXDTIxMDgyMTIyMzIwMFowgZsxCzAJBgNVBAYTAkFVMREwDwYDVQQIDAhWaWN0
+b3JpYTESMBAGA1UEBwwJTWVsYm91cm5lMSQwIgYDVQQKDBtUZWxzdHJhIENvcnBv
+cmF0aW9uIExpbWl0ZWQxFzAVBgNVBAsMDlRlbHN0cmEgRW5lcmd5MSYwJAYDVQQD
+DB1kZXYuZW5lcmd5Lmluc2lkZS50ZWxzdHJhLmNvbTCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAMPAPH2y206qios2NMzlCNJv1mrwC1/8tH2HOqJGiYZB
+O7QOBRSvJsV++IozCB8ap99e8B64OOAQPOyykrdXd2axhftmMb1SFMF56eukHSuz
+KhKWRUgHs0UFRU51lDcBcOvphwJ+5SOgqrqKFFFBgJ0ZpcP54JpFwKIdh3ac10x2
+mBaW5ccqdv5X9oEMu1D/yivBmy34tsbLYyfttCjP76iVT7UVYHjHWynnIhsEyMsU
+gdM90NzrTlrvTSi/EcCD1W3+8b0f+G1TI5rhHbKwR0n/mv5QLFm7EABoYPhxS8bX
+B+9tE67yb0RyWbgvUiHySRynQLNMRpRx8Y9bA8uC8n8CAwEAAaOCA6QwggOgMAkG
+A1UdEwQCMAAwHwYDVR0jBBgwFoAUsxKJtalLNbwVAPCA6dh4h/ETfHYwcwYIKwYB
+BQUHAQEEZzBlMDcGCCsGAQUFBzAChitodHRwOi8vdHJ1c3QucXVvdmFkaXNnbG9i
+YWwuY29tL3F2c3NsZzMuY3J0MCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5xdW92
+YWRpc2dsb2JhbC5jb20wgZ8GA1UdEQSBlzCBlIIdZGV2LmVuZXJneS5pbnNpZGUu
+dGVsc3RyYS5jb22CJXJlcG9ydHMuZGV2LmVuZXJneS5pbnNpZGUudGVsc3RyYS5j
+b22CJ2dyZWVuc3luYy5kZXYuZW5lcmd5Lmluc2lkZS50ZWxzdHJhLmNvbYIjbmdv
+c3MuZGV2LmVuZXJneS5pbnNpZGUudGVsc3RyYS5jb20wUQYDVR0gBEowSDBGBgwr
+BgEEAb5YAAJkAQEwNjA0BggrBgEFBQcCARYoaHR0cDovL3d3dy5xdW92YWRpc2ds
+b2JhbC5jb20vcmVwb3NpdG9yeTAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
+AwEwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5xdW92YWRpc2dsb2JhbC5j
+b20vcXZzc2xnMy5jcmwwHQYDVR0OBBYEFEoJQRpPC/V5ZK3mMkszZE2v6vh+MA4G
+A1UdDwEB/wQEAwIFoDCCAXwGCisGAQQB1nkCBAIEggFsBIIBaAFmAHUAVhQGmi/X
+wuzT9eG9RLI+x0Z2ubyZEVzA75SYVdaJ0N0AAAFstk9Y+gAABAMARjBEAiBFMZa6
+O9iXVjy2kqQa54vgNFdU7shgFJJhm//fSAQZUAIgBIL/yPdh+XiuQS2xPhCzNYkh
+bxf7BbN4qUISESgiZpsAdgBvU3asMfAxGdiZAKRRFf93FRwR2QLBACkGjbIImjfZ
+EwAAAWy2T1nKAAAEAwBHMEUCIG0tp63jLsDsfCTDlcvV5ItjRkbUJBnkxlPdP2PH
+88sTAiEApgaPofVdn2hdI12iDDex72ta+9wpwQ1MxoaJn2nt+qEAdQDuS723dc5g
+uuFCaR+r4Z5mow9+X7By2IMAxHuJeqj9ywAAAWy2T1iJAAAEAwBGMEQCIE/mzEFp
+CJUc71jvwJa4Px86R3ZYK4mHmUlQAUZqd0ZkAiBdEmT8xxTuleSUlYHEkKCK/FZX
+L+vsYJpPrA9TsO5IsTANBgkqhkiG9w0BAQsFAAOCAgEApE9WLz3S8tqA9Dk3r9LF
+rJy8km9cBt1O9SQZwFsduGKGdF3Fd+/Y0V7UrFDzrX+NIzqcmgBHKxaIXorMBF70
+ajMaaROP2ymkpEXnruEwoR47fbW+JRAWDRm2xnouQveQX9ZcgCLbBvAWBqpndQj2
+DGmLJhNz5GlFBjh3PQZlU1w8hU7TrDxa7M1GMtVnk8X+o3l/MX9iPeEs+PiC4dHD
+hpj84RY1VQJz8+10rql47SB5YgbwcqaizTG4ax/OAv1JHNWtfAodIMX8Y8X00zoz
+A20LQv880jCCNANVNbrXJ3h4X3xwW/C1X9vYk0shymZJbT5u17JbPD1cy39bA7kT
+F4L7scdQRxvcqazYN4/IdgvgMji9OltiYufP88Ti8KB2tcl2accpiC5St/zllGD1
+hqEeYLMzjyvUKR/1uvURQQtc0DPvBRmvkB+aI4g+sLkTTFWj5bsA1vKU8SDCyMuB
+RQV11DId5+RNNCmWnskORUZJQssvY49pnfCxCES2nt3l/XzTzVtLYmd6G9uAqVac
+e2ibnmDrFVlmlyRsCiMfZl5/OTJzt7Cj3az59m5Syfw/lnS9YP82t/r/ufuKkO5Q
+q5a9aI8DuNNmAjR4lpIJNqIpX/y+dG2aGmx4XTc31MR9szWtiTgOHe0MkMupOAL0
+qkHrBgwo1zjuTMf3QOg6Z5Q=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIGFzCCA/+gAwIBAgIUftbnnMmtgcTIGT75XUQodw40ExcwDQYJKoZIhvcNAQEL
+BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
+BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjExMDYxNDUwMThaFw0y
+MjExMDYxNDUwMThaME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMzCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANf8Od17be6c6lTGJDhEXpmkTs4y
+Q39Rr5VJyBeWCg06nSS71s6xF3sZvKcV0MbXlXCYM2ZX7cNTbJ81gs7uDsKFp+vK
+EymiKyEiI2SImOtECNnSg+RVR4np/xz/UlC0yFUisH75cZsJ8T1pkGMfiEouR0EM
+7O0uFgoboRfUP582TTWy0F7ynSA6YfGKnKj0OFwZJmGHVkLs1VevWjhj3R1fsPan
+H05P5moePFnpQdj1FofoSxUHZ0c7VB+sUimboHm/uHNY1LOsk77qiSuVC5/yrdg3
+2EEfP/mxJYT4r/5UiD7VahySzeZHzZ2OibQm2AfgfMN3l57lCM3/WPQBhMAPS1jz
+kE+7MjajM2f0aZctimW4Hasrj8AQnfAdHqZehbhtXaAlffNEzCdpNK584oCTVR7N
+UR9iZFx83ruTqpo+GcLP/iSYqhM4g7fy45sNhU+IS+ca03zbxTl3TTlkofXunI5B
+xxE30eGSQpDZ5+iUJcEOAuVKrlYocFbB3KF45hwcbzPWQ1DcO2jFAapOtQzeS+MZ
+yZzT2YseJ8hQHKu8YrXZWwKaNfyl8kFkHUBDICowNEoZvBwRCQp8sgqL6YRZy0uD
+JGxmnC2e0BVKSjcIvmq/CRWH7yiTk9eWm73xrsg9iIyD/kwJEnLyIk8tR5V8p/hc
+1H2AjDrZH12PsZ45AgMBAAGjgfMwgfAwEgYDVR0TAQH/BAgwBgEB/wIBATARBgNV
+HSAECjAIMAYGBFUdIAAwOgYIKwYBBQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRw
+Oi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wDgYDVR0PAQH/BAQDAgEGMB8GA1Ud
+IwQYMBaAFO3nb3Zav2DsSVvGpXe7chZxm8Q9MDsGA1UdHwQ0MDIwMKAuoCyGKmh0
+dHA6Ly9jcmwucXVvdmFkaXNnbG9iYWwuY29tL3F2cmNhMmczLmNybDAdBgNVHQ4E
+FgQUsxKJtalLNbwVAPCA6dh4h/ETfHYwDQYJKoZIhvcNAQELBQADggIBAFGm1Fqp
+RMiKr7a6h707M+km36PVXZnX1NZocCn36MrfRvphotbOCDm+GmRkar9ZMGhc8c/A
+Vn7JSCjwF9jNOFIOUyNLq0w4luk+Pt2YFDbgF8IDdx53xIo8Gv05e9xpTvQYaIto
+qeHbQjGXfSGc91olfX6JUwZlxxbhdJH+rxTFAg0jcbqToJoScWTfXSr1QRcNbSTs
+Y4CPG6oULsnhVvrzgldGSK+DxFi2OKcDsOKkV7W4IGg8Do2L/M588AfBnV8ERzpl
+qgMBBQxC2+0N6RdFHbmZt0HQE/NIg1s0xcjGx1XW3YTOfje31rmAXKHOehm4Bu48
+gr8gePq5cdQ2W9tA0Dnytb9wzH2SyPPIXRI7yNxaX9H8wYeDeeiKSSmQtfh1v5cV
+7RXvm8F6hLJkkco/HOW3dAUwZFcKsUH+1eUJKLN18eDGwB8yGawjHvOKqcfg5Lf/
+TvC7hgcx7pDYaCCaqHaekgUwXbB2Enzqr1fdwoU1c01W5YuQAtAx5wk1bf34Yq/J
+ph7wNXGvo88N0/EfP9AdVGmJzy7VuRXeVAOyjKAIeADMlwpjBRhcbs9m3dkqvoMb
+SXKJxv/hFmNgEOvOlaFsXX1dbKg1v+C1AzKAFdiuAIa62JzASiEhigqNSdqdTsOh
+8W8hdONuKKpe9zKedhBFAvuxhDgKmnySglYc
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL
+BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
+BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00
+MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf
+qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW
+n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym
+c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+
+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1
+o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j
+IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq
+IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz
+8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh
+vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l
+7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG
+cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
+BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD
+ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66
+AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC
+roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga
+W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n
+lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE
++V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV
+csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd
+dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg
+KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM
+HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4
+WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M
+-----END CERTIFICATE-----
+
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.3.cert b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.3.cert
new file mode 100644
index 000000000..0c947b17b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.3.cert
@@ -0,0 +1,124 @@
+subject=/C=AU/ST=Victoria/L=Melbourne/O=Telstra Corporation Limited/OU=Telstra Energy/CN=dev.energy.inside.telstra.com
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+-----BEGIN CERTIFICATE-----
+MIIIHTCCBgWgAwIBAgIUCqrrzSfjzaoyB3DOxst2kMxFp/MwDQYJKoZIhvcNAQEL
+BQAwTTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxIzAh
+BgNVBAMTGlF1b1ZhZGlzIEdsb2JhbCBTU0wgSUNBIEczMB4XDTE5MDgyMTIyMjIy
+OFoXDTIxMDgyMTIyMzIwMFowgZsxCzAJBgNVBAYTAkFVMREwDwYDVQQIDAhWaWN0
+b3JpYTESMBAGA1UEBwwJTWVsYm91cm5lMSQwIgYDVQQKDBtUZWxzdHJhIENvcnBv
+cmF0aW9uIExpbWl0ZWQxFzAVBgNVBAsMDlRlbHN0cmEgRW5lcmd5MSYwJAYDVQQD
+DB1kZXYuZW5lcmd5Lmluc2lkZS50ZWxzdHJhLmNvbTCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAMPAPH2y206qios2NMzlCNJv1mrwC1/8tH2HOqJGiYZB
+O7QOBRSvJsV++IozCB8ap99e8B64OOAQPOyykrdXd2axhftmMb1SFMF56eukHSuz
+KhKWRUgHs0UFRU51lDcBcOvphwJ+5SOgqrqKFFFBgJ0ZpcP54JpFwKIdh3ac10x2
+mBaW5ccqdv5X9oEMu1D/yivBmy34tsbLYyfttCjP76iVT7UVYHjHWynnIhsEyMsU
+gdM90NzrTlrvTSi/EcCD1W3+8b0f+G1TI5rhHbKwR0n/mv5QLFm7EABoYPhxS8bX
+B+9tE67yb0RyWbgvUiHySRynQLNMRpRx8Y9bA8uC8n8CAwEAAaOCA6QwggOgMAkG
+A1UdEwQCMAAwHwYDVR0jBBgwFoAUsxKJtalLNbwVAPCA6dh4h/ETfHYwcwYIKwYB
+BQUHAQEEZzBlMDcGCCsGAQUFBzAChitodHRwOi8vdHJ1c3QucXVvdmFkaXNnbG9i
+YWwuY29tL3F2c3NsZzMuY3J0MCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5xdW92
+YWRpc2dsb2JhbC5jb20wgZ8GA1UdEQSBlzCBlIIdZGV2LmVuZXJneS5pbnNpZGUu
+dGVsc3RyYS5jb22CJXJlcG9ydHMuZGV2LmVuZXJneS5pbnNpZGUudGVsc3RyYS5j
+b22CJ2dyZWVuc3luYy5kZXYuZW5lcmd5Lmluc2lkZS50ZWxzdHJhLmNvbYIjbmdv
+c3MuZGV2LmVuZXJneS5pbnNpZGUudGVsc3RyYS5jb20wUQYDVR0gBEowSDBGBgwr
+BgEEAb5YAAJkAQEwNjA0BggrBgEFBQcCARYoaHR0cDovL3d3dy5xdW92YWRpc2ds
+b2JhbC5jb20vcmVwb3NpdG9yeTAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
+AwEwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5xdW92YWRpc2dsb2JhbC5j
+b20vcXZzc2xnMy5jcmwwHQYDVR0OBBYEFEoJQRpPC/V5ZK3mMkszZE2v6vh+MA4G
+A1UdDwEB/wQEAwIFoDCCAXwGCisGAQQB1nkCBAIEggFsBIIBaAFmAHUAVhQGmi/X
+wuzT9eG9RLI+x0Z2ubyZEVzA75SYVdaJ0N0AAAFstk9Y+gAABAMARjBEAiBFMZa6
+O9iXVjy2kqQa54vgNFdU7shgFJJhm//fSAQZUAIgBIL/yPdh+XiuQS2xPhCzNYkh
+bxf7BbN4qUISESgiZpsAdgBvU3asMfAxGdiZAKRRFf93FRwR2QLBACkGjbIImjfZ
+EwAAAWy2T1nKAAAEAwBHMEUCIG0tp63jLsDsfCTDlcvV5ItjRkbUJBnkxlPdP2PH
+88sTAiEApgaPofVdn2hdI12iDDex72ta+9wpwQ1MxoaJn2nt+qEAdQDuS723dc5g
+uuFCaR+r4Z5mow9+X7By2IMAxHuJeqj9ywAAAWy2T1iJAAAEAwBGMEQCIE/mzEFp
+CJUc71jvwJa4Px86R3ZYK4mHmUlQAUZqd0ZkAiBdEmT8xxTuleSUlYHEkKCK/FZX
+L+vsYJpPrA9TsO5IsTANBgkqhkiG9w0BAQsFAAOCAgEApE9WLz3S8tqA9Dk3r9LF
+rJy8km9cBt1O9SQZwFsduGKGdF3Fd+/Y0V7UrFDzrX+NIzqcmgBHKxaIXorMBF70
+ajMaaROP2ymkpEXnruEwoR47fbW+JRAWDRm2xnouQveQX9ZcgCLbBvAWBqpndQj2
+DGmLJhNz5GlFBjh3PQZlU1w8hU7TrDxa7M1GMtVnk8X+o3l/MX9iPeEs+PiC4dHD
+hpj84RY1VQJz8+10rql47SB5YgbwcqaizTG4ax/OAv1JHNWtfAodIMX8Y8X00zoz
+A20LQv880jCCNANVNbrXJ3h4X3xwW/C1X9vYk0shymZJbT5u17JbPD1cy39bA7kT
+F4L7scdQRxvcqazYN4/IdgvgMji9OltiYufP88Ti8KB2tcl2accpiC5St/zllGD1
+hqEeYLMzjyvUKR/1uvURQQtc0DPvBRmvkB+aI4g+sLkTTFWj5bsA1vKU8SDCyMuB
+RQV11DId5+RNNCmWnskORUZJQssvY49pnfCxCES2nt3l/XzTzVtLYmd6G9uAqVac
+e2ibnmDrFVlmlyRsCiMfZl5/OTJzt7Cj3az59m5Syfw/lnS9YP82t/r/ufuKkO5Q
+q5a9aI8DuNNmAjR4lpIJNqIpX/y+dG2aGmx4XTc31MR9szWtiTgOHe0MkMupOAL0
+qkHrBgwo1zjuTMf3QOg6Z5Q=
+-----END CERTIFICATE-----
+
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL
+BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
+BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00
+MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf
+qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW
+n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym
+c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+
+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1
+o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j
+IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq
+IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz
+8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh
+vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l
+7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG
+cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
+BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD
+ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66
+AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC
+roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga
+W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n
+lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE
++V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV
+csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd
+dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg
+KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM
+HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4
+WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M
+-----END CERTIFICATE-----
+
+
+
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+MIIGFzCCA/+gAwIBAgIUftbnnMmtgcTIGT75XUQodw40ExcwDQYJKoZIhvcNAQEL
+BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
+BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjExMDYxNDUwMThaFw0y
+MjExMDYxNDUwMThaME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMzCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANf8Od17be6c6lTGJDhEXpmkTs4y
+Q39Rr5VJyBeWCg06nSS71s6xF3sZvKcV0MbXlXCYM2ZX7cNTbJ81gs7uDsKFp+vK
+EymiKyEiI2SImOtECNnSg+RVR4np/xz/UlC0yFUisH75cZsJ8T1pkGMfiEouR0EM
+7O0uFgoboRfUP582TTWy0F7ynSA6YfGKnKj0OFwZJmGHVkLs1VevWjhj3R1fsPan
+H05P5moePFnpQdj1FofoSxUHZ0c7VB+sUimboHm/uHNY1LOsk77qiSuVC5/yrdg3
+2EEfP/mxJYT4r/5UiD7VahySzeZHzZ2OibQm2AfgfMN3l57lCM3/WPQBhMAPS1jz
+kE+7MjajM2f0aZctimW4Hasrj8AQnfAdHqZehbhtXaAlffNEzCdpNK584oCTVR7N
+UR9iZFx83ruTqpo+GcLP/iSYqhM4g7fy45sNhU+IS+ca03zbxTl3TTlkofXunI5B
+xxE30eGSQpDZ5+iUJcEOAuVKrlYocFbB3KF45hwcbzPWQ1DcO2jFAapOtQzeS+MZ
+yZzT2YseJ8hQHKu8YrXZWwKaNfyl8kFkHUBDICowNEoZvBwRCQp8sgqL6YRZy0uD
+JGxmnC2e0BVKSjcIvmq/CRWH7yiTk9eWm73xrsg9iIyD/kwJEnLyIk8tR5V8p/hc
+1H2AjDrZH12PsZ45AgMBAAGjgfMwgfAwEgYDVR0TAQH/BAgwBgEB/wIBATARBgNV
+HSAECjAIMAYGBFUdIAAwOgYIKwYBBQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRw
+Oi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wDgYDVR0PAQH/BAQDAgEGMB8GA1Ud
+IwQYMBaAFO3nb3Zav2DsSVvGpXe7chZxm8Q9MDsGA1UdHwQ0MDIwMKAuoCyGKmh0
+dHA6Ly9jcmwucXVvdmFkaXNnbG9iYWwuY29tL3F2cmNhMmczLmNybDAdBgNVHQ4E
+FgQUsxKJtalLNbwVAPCA6dh4h/ETfHYwDQYJKoZIhvcNAQELBQADggIBAFGm1Fqp
+RMiKr7a6h707M+km36PVXZnX1NZocCn36MrfRvphotbOCDm+GmRkar9ZMGhc8c/A
+Vn7JSCjwF9jNOFIOUyNLq0w4luk+Pt2YFDbgF8IDdx53xIo8Gv05e9xpTvQYaIto
+qeHbQjGXfSGc91olfX6JUwZlxxbhdJH+rxTFAg0jcbqToJoScWTfXSr1QRcNbSTs
+Y4CPG6oULsnhVvrzgldGSK+DxFi2OKcDsOKkV7W4IGg8Do2L/M588AfBnV8ERzpl
+qgMBBQxC2+0N6RdFHbmZt0HQE/NIg1s0xcjGx1XW3YTOfje31rmAXKHOehm4Bu48
+gr8gePq5cdQ2W9tA0Dnytb9wzH2SyPPIXRI7yNxaX9H8wYeDeeiKSSmQtfh1v5cV
+7RXvm8F6hLJkkco/HOW3dAUwZFcKsUH+1eUJKLN18eDGwB8yGawjHvOKqcfg5Lf/
+TvC7hgcx7pDYaCCaqHaekgUwXbB2Enzqr1fdwoU1c01W5YuQAtAx5wk1bf34Yq/J
+ph7wNXGvo88N0/EfP9AdVGmJzy7VuRXeVAOyjKAIeADMlwpjBRhcbs9m3dkqvoMb
+SXKJxv/hFmNgEOvOlaFsXX1dbKg1v+C1AzKAFdiuAIa62JzASiEhigqNSdqdTsOh
+8W8hdONuKKpe9zKedhBFAvuxhDgKmnySglYc
+-----END CERTIFICATE-----
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.4.cert b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.4.cert
new file mode 100644
index 000000000..adbb8edca
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-1.4.cert
@@ -0,0 +1,86 @@
+subject=/C=AU/ST=Victoria/L=Melbourne/O=Telstra Corporation Limited/OU=Telstra Energy/CN=dev.energy.inside.telstra.com
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+-----BEGIN CERTIFICATE-----
+MIIIHTCCBgWgAwIBAgIUCqrrzSfjzaoyB3DOxst2kMxFp/MwDQYJKoZIhvcNAQEL
+BQAwTTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxIzAh
+BgNVBAMTGlF1b1ZhZGlzIEdsb2JhbCBTU0wgSUNBIEczMB4XDTE5MDgyMTIyMjIy
+OFoXDTIxMDgyMTIyMzIwMFowgZsxCzAJBgNVBAYTAkFVMREwDwYDVQQIDAhWaWN0
+b3JpYTESMBAGA1UEBwwJTWVsYm91cm5lMSQwIgYDVQQKDBtUZWxzdHJhIENvcnBv
+cmF0aW9uIExpbWl0ZWQxFzAVBgNVBAsMDlRlbHN0cmEgRW5lcmd5MSYwJAYDVQQD
+DB1kZXYuZW5lcmd5Lmluc2lkZS50ZWxzdHJhLmNvbTCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAMPAPH2y206qios2NMzlCNJv1mrwC1/8tH2HOqJGiYZB
+O7QOBRSvJsV++IozCB8ap99e8B64OOAQPOyykrdXd2axhftmMb1SFMF56eukHSuz
+KhKWRUgHs0UFRU51lDcBcOvphwJ+5SOgqrqKFFFBgJ0ZpcP54JpFwKIdh3ac10x2
+mBaW5ccqdv5X9oEMu1D/yivBmy34tsbLYyfttCjP76iVT7UVYHjHWynnIhsEyMsU
+gdM90NzrTlrvTSi/EcCD1W3+8b0f+G1TI5rhHbKwR0n/mv5QLFm7EABoYPhxS8bX
+B+9tE67yb0RyWbgvUiHySRynQLNMRpRx8Y9bA8uC8n8CAwEAAaOCA6QwggOgMAkG
+A1UdEwQCMAAwHwYDVR0jBBgwFoAUsxKJtalLNbwVAPCA6dh4h/ETfHYwcwYIKwYB
+BQUHAQEEZzBlMDcGCCsGAQUFBzAChitodHRwOi8vdHJ1c3QucXVvdmFkaXNnbG9i
+YWwuY29tL3F2c3NsZzMuY3J0MCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5xdW92
+YWRpc2dsb2JhbC5jb20wgZ8GA1UdEQSBlzCBlIIdZGV2LmVuZXJneS5pbnNpZGUu
+dGVsc3RyYS5jb22CJXJlcG9ydHMuZGV2LmVuZXJneS5pbnNpZGUudGVsc3RyYS5j
+b22CJ2dyZWVuc3luYy5kZXYuZW5lcmd5Lmluc2lkZS50ZWxzdHJhLmNvbYIjbmdv
+c3MuZGV2LmVuZXJneS5pbnNpZGUudGVsc3RyYS5jb20wUQYDVR0gBEowSDBGBgwr
+BgEEAb5YAAJkAQEwNjA0BggrBgEFBQcCARYoaHR0cDovL3d3dy5xdW92YWRpc2ds
+b2JhbC5jb20vcmVwb3NpdG9yeTAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
+AwEwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5xdW92YWRpc2dsb2JhbC5j
+b20vcXZzc2xnMy5jcmwwHQYDVR0OBBYEFEoJQRpPC/V5ZK3mMkszZE2v6vh+MA4G
+A1UdDwEB/wQEAwIFoDCCAXwGCisGAQQB1nkCBAIEggFsBIIBaAFmAHUAVhQGmi/X
+wuzT9eG9RLI+x0Z2ubyZEVzA75SYVdaJ0N0AAAFstk9Y+gAABAMARjBEAiBFMZa6
+O9iXVjy2kqQa54vgNFdU7shgFJJhm//fSAQZUAIgBIL/yPdh+XiuQS2xPhCzNYkh
+bxf7BbN4qUISESgiZpsAdgBvU3asMfAxGdiZAKRRFf93FRwR2QLBACkGjbIImjfZ
+EwAAAWy2T1nKAAAEAwBHMEUCIG0tp63jLsDsfCTDlcvV5ItjRkbUJBnkxlPdP2PH
+88sTAiEApgaPofVdn2hdI12iDDex72ta+9wpwQ1MxoaJn2nt+qEAdQDuS723dc5g
+uuFCaR+r4Z5mow9+X7By2IMAxHuJeqj9ywAAAWy2T1iJAAAEAwBGMEQCIE/mzEFp
+CJUc71jvwJa4Px86R3ZYK4mHmUlQAUZqd0ZkAiBdEmT8xxTuleSUlYHEkKCK/FZX
+L+vsYJpPrA9TsO5IsTANBgkqhkiG9w0BAQsFAAOCAgEApE9WLz3S8tqA9Dk3r9LF
+rJy8km9cBt1O9SQZwFsduGKGdF3Fd+/Y0V7UrFDzrX+NIzqcmgBHKxaIXorMBF70
+ajMaaROP2ymkpEXnruEwoR47fbW+JRAWDRm2xnouQveQX9ZcgCLbBvAWBqpndQj2
+DGmLJhNz5GlFBjh3PQZlU1w8hU7TrDxa7M1GMtVnk8X+o3l/MX9iPeEs+PiC4dHD
+hpj84RY1VQJz8+10rql47SB5YgbwcqaizTG4ax/OAv1JHNWtfAodIMX8Y8X00zoz
+A20LQv880jCCNANVNbrXJ3h4X3xwW/C1X9vYk0shymZJbT5u17JbPD1cy39bA7kT
+F4L7scdQRxvcqazYN4/IdgvgMji9OltiYufP88Ti8KB2tcl2accpiC5St/zllGD1
+hqEeYLMzjyvUKR/1uvURQQtc0DPvBRmvkB+aI4g+sLkTTFWj5bsA1vKU8SDCyMuB
+RQV11DId5+RNNCmWnskORUZJQssvY49pnfCxCES2nt3l/XzTzVtLYmd6G9uAqVac
+e2ibnmDrFVlmlyRsCiMfZl5/OTJzt7Cj3az59m5Syfw/lnS9YP82t/r/ufuKkO5Q
+q5a9aI8DuNNmAjR4lpIJNqIpX/y+dG2aGmx4XTc31MR9szWtiTgOHe0MkMupOAL0
+qkHrBgwo1zjuTMf3QOg6Z5Q=
+-----END CERTIFICATE-----
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+MIIGFzCCA/+gAwIBAgIUftbnnMmtgcTIGT75XUQodw40ExcwDQYJKoZIhvcNAQEL
+BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
+BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjExMDYxNDUwMThaFw0y
+MjExMDYxNDUwMThaME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMzCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANf8Od17be6c6lTGJDhEXpmkTs4y
+Q39Rr5VJyBeWCg06nSS71s6xF3sZvKcV0MbXlXCYM2ZX7cNTbJ81gs7uDsKFp+vK
+EymiKyEiI2SImOtECNnSg+RVR4np/xz/UlC0yFUisH75cZsJ8T1pkGMfiEouR0EM
+7O0uFgoboRfUP582TTWy0F7ynSA6YfGKnKj0OFwZJmGHVkLs1VevWjhj3R1fsPan
+H05P5moePFnpQdj1FofoSxUHZ0c7VB+sUimboHm/uHNY1LOsk77qiSuVC5/yrdg3
+2EEfP/mxJYT4r/5UiD7VahySzeZHzZ2OibQm2AfgfMN3l57lCM3/WPQBhMAPS1jz
+kE+7MjajM2f0aZctimW4Hasrj8AQnfAdHqZehbhtXaAlffNEzCdpNK584oCTVR7N
+UR9iZFx83ruTqpo+GcLP/iSYqhM4g7fy45sNhU+IS+ca03zbxTl3TTlkofXunI5B
+xxE30eGSQpDZ5+iUJcEOAuVKrlYocFbB3KF45hwcbzPWQ1DcO2jFAapOtQzeS+MZ
+yZzT2YseJ8hQHKu8YrXZWwKaNfyl8kFkHUBDICowNEoZvBwRCQp8sgqL6YRZy0uD
+JGxmnC2e0BVKSjcIvmq/CRWH7yiTk9eWm73xrsg9iIyD/kwJEnLyIk8tR5V8p/hc
+1H2AjDrZH12PsZ45AgMBAAGjgfMwgfAwEgYDVR0TAQH/BAgwBgEB/wIBATARBgNV
+HSAECjAIMAYGBFUdIAAwOgYIKwYBBQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRw
+Oi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wDgYDVR0PAQH/BAQDAgEGMB8GA1Ud
+IwQYMBaAFO3nb3Zav2DsSVvGpXe7chZxm8Q9MDsGA1UdHwQ0MDIwMKAuoCyGKmh0
+dHA6Ly9jcmwucXVvdmFkaXNnbG9iYWwuY29tL3F2cmNhMmczLmNybDAdBgNVHQ4E
+FgQUsxKJtalLNbwVAPCA6dh4h/ETfHYwDQYJKoZIhvcNAQELBQADggIBAFGm1Fqp
+RMiKr7a6h707M+km36PVXZnX1NZocCn36MrfRvphotbOCDm+GmRkar9ZMGhc8c/A
+Vn7JSCjwF9jNOFIOUyNLq0w4luk+Pt2YFDbgF8IDdx53xIo8Gv05e9xpTvQYaIto
+qeHbQjGXfSGc91olfX6JUwZlxxbhdJH+rxTFAg0jcbqToJoScWTfXSr1QRcNbSTs
+Y4CPG6oULsnhVvrzgldGSK+DxFi2OKcDsOKkV7W4IGg8Do2L/M588AfBnV8ERzpl
+qgMBBQxC2+0N6RdFHbmZt0HQE/NIg1s0xcjGx1XW3YTOfje31rmAXKHOehm4Bu48
+gr8gePq5cdQ2W9tA0Dnytb9wzH2SyPPIXRI7yNxaX9H8wYeDeeiKSSmQtfh1v5cV
+7RXvm8F6hLJkkco/HOW3dAUwZFcKsUH+1eUJKLN18eDGwB8yGawjHvOKqcfg5Lf/
+TvC7hgcx7pDYaCCaqHaekgUwXbB2Enzqr1fdwoU1c01W5YuQAtAx5wk1bf34Yq/J
+ph7wNXGvo88N0/EfP9AdVGmJzy7VuRXeVAOyjKAIeADMlwpjBRhcbs9m3dkqvoMb
+SXKJxv/hFmNgEOvOlaFsXX1dbKg1v+C1AzKAFdiuAIa62JzASiEhigqNSdqdTsOh
+8W8hdONuKKpe9zKedhBFAvuxhDgKmnySglYc
+-----END CERTIFICATE-----
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-4.cert b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-4.cert
new file mode 100644
index 000000000..2b82edf6c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/chain-4.cert
@@ -0,0 +1,121 @@
+subject=/C=AU/ST=Victoria/L=Melbourne/O=Telstra Corporation Limited/OU=Telstra Energy/CN=prod.energy.inside.telstra.com
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+-----BEGIN CERTIFICATE-----
+MIIIJDCCBgygAwIBAgIUP9S/56XvOFzWk1vp1+7JJT17brEwDQYJKoZIhvcNAQEL
+BQAwTTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxIzAh
+BgNVBAMTGlF1b1ZhZGlzIEdsb2JhbCBTU0wgSUNBIEczMB4XDTE5MDgyNzAzMTU1
+NFoXDTIxMDgyNzAzMjUwMFowgZwxCzAJBgNVBAYTAkFVMREwDwYDVQQIDAhWaWN0
+b3JpYTESMBAGA1UEBwwJTWVsYm91cm5lMSQwIgYDVQQKDBtUZWxzdHJhIENvcnBv
+cmF0aW9uIExpbWl0ZWQxFzAVBgNVBAsMDlRlbHN0cmEgRW5lcmd5MScwJQYDVQQD
+DB5wcm9kLmVuZXJneS5pbnNpZGUudGVsc3RyYS5jb20wggEiMA0GCSqGSIb3DQEB
+AQUAA4IBDwAwggEKAoIBAQCrRouNZFOZwM1qyAU6v6ag9fzSx3y8zz36nR8HuqbA
+/wqrbMmnpofwdx/9u1bilsHfJzIODv0hm7aGk+neTK3DIapiII3m0HKW0v+GLsl7
+JkDuc2o3XlakcXlA45qDKCZXbXZtY4/kdxKG0OSUZi7oQqohhYl/c/ojrTiey+4G
+KhEVqWwOuQ1OC1DRw4qMH54d0koFxxSLPJ8JiiztLlK/e9n8BoJikj5fBqWy5R1F
+bGXCdzjcfmPV6iSOzJShpUgj4ga91mO6j3S6LLfK5ibbTlY+pmUxUT+m9nKMon3h
+mFptTYo9t9vUF/a/owjRxNLg01fJLNjYn8QV2vQvODGfAgMBAAGjggOqMIIDpjAJ
+BgNVHRMEAjAAMB8GA1UdIwQYMBaAFLMSibWpSzW8FQDwgOnYeIfxE3x2MHMGCCsG
+AQUFBwEBBGcwZTA3BggrBgEFBQcwAoYraHR0cDovL3RydXN0LnF1b3ZhZGlzZ2xv
+YmFsLmNvbS9xdnNzbGczLmNydDAqBggrBgEFBQcwAYYeaHR0cDovL29jc3AucXVv
+dmFkaXNnbG9iYWwuY29tMIGjBgNVHREEgZswgZiCHnByb2QuZW5lcmd5Lmluc2lk
+ZS50ZWxzdHJhLmNvbYImcmVwb3J0cy5wcm9kLmVuZXJneS5pbnNpZGUudGVsc3Ry
+YS5jb22CKGdyZWVuc3luYy5wcm9kLmVuZXJneS5pbnNpZGUudGVsc3RyYS5jb22C
+JG5nb3NzLnByb2QuZW5lcmd5Lmluc2lkZS50ZWxzdHJhLmNvbTBRBgNVHSAESjBI
+MEYGDCsGAQQBvlgAAmQBATA2MDQGCCsGAQUFBwIBFihodHRwOi8vd3d3LnF1b3Zh
+ZGlzZ2xvYmFsLmNvbS9yZXBvc2l0b3J5MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr
+BgEFBQcDATA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vY3JsLnF1b3ZhZGlzZ2xv
+YmFsLmNvbS9xdnNzbGczLmNybDAdBgNVHQ4EFgQUoIME5TykVAI8VF5g0zeh0xdv
+i3owDgYDVR0PAQH/BAQDAgWgMIIBfgYKKwYBBAHWeQIEAgSCAW4EggFqAWgAdgBW
+FAaaL9fC7NP14b1Esj7HRna5vJkRXMDvlJhV1onQ3QAAAWzRG8r0AAAEAwBHMEUC
+IQDShuQyYMiy7KKxWOzffolVIcPRgWD7ClNEbIcUATHKyQIgXnTZBXcpcbXBQXLs
+tFuvY36TbKIYc2ql2nmdydGQ9wcAdgCkuQmQtBhYFIe7E6LMZ3AKPDWYBPkb37jj
+d80OyA3cEAAAAWzRG8sAAAAEAwBHMEUCIGsLEoA9S7pNE3VoNZHxl2IAdeP3Dy2Q
+Mk0rM46hp6CRAiEA08rOjswSdcn7qgDEoiyvlcrOTIFJAEcMlxSY65yLVUwAdgBV
+gdTCFpA2AUrqC5tXPFPwwOQ4eHAlCBcvo6odBxPTDAAAAWzRG8q7AAAEAwBHMEUC
+IAkVCcTFG8MBDI58JKIhMlPbzkdrKnYY3Kp9KqWuTAvMAiEAipeI7RCLBk8+T/p+
+gY7+vtFZxKDthcJMUpZz7qmica0wDQYJKoZIhvcNAQELBQADggIBAESe0U1qArxL
+F2uk65q6x6HBcZuSocpceokzcUBv07Kxs6UJU9ybTbl8VYPuC+OUdpvut1kOJCJm
+1TRrr5KMh+9as42xkbKRZnh5TQt7aHmVcLHLfA4x0UrELfNX3fVTDxwDAPAhE5oM
+0w+d1foLakh7dXKKSxobEI3KRwFp19iuZeIqwI8XMWMr9ajhTC0T7D2QvKotpNBS
+sNDHiIE3IXoa9o7UiOG8IfW0wAt7CEygv0F7ctHRTcQSP/SJIGYOUZ7uotULVL5i
+elG31Y83Jx3sPNCy4IZfCip6Gw7MgsN2CZGApqi49edSqDWyRIfmCeXtMc7XI7Md
+kqqWxbqGGTdYJCucoGqahqRR+BI9anEqTD9T5Gy0TpCi2pgp1i7czza71nfz0PcN
+R0pw/1lqb9AqmJ2XELpBpo82B9XGple9thpincai7jPk3ezY5eEvDTmkHRlUFCp8
+8M66Ga19hZTgnHPWDKZYZzuZ7Lcl2WbapFOYYHJggSpBRy4GkH6eTSkUB9G9k8vU
+gbvtS7sR5ggecbCBu0M4TWYmnUojR8UXtr0oOTlXysTHVGs5Tx9ChhOLyUqhX8tM
+1zSDT8JJvbbw4RqpGzBKTNaO5nxRLgKVQOQdM8f1kjMr9/U58Lc4UiaTkJM14VfK
+8GfV8+K/vRCBtME53ILvm1l18jtakG3c
+-----END CERTIFICATE-----
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+MIIGFzCCA/+gAwIBAgIUftbnnMmtgcTIGT75XUQodw40ExcwDQYJKoZIhvcNAQEL
+BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
+BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjExMDYxNDUwMThaFw0y
+MjExMDYxNDUwMThaME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMzCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANf8Od17be6c6lTGJDhEXpmkTs4y
+Q39Rr5VJyBeWCg06nSS71s6xF3sZvKcV0MbXlXCYM2ZX7cNTbJ81gs7uDsKFp+vK
+EymiKyEiI2SImOtECNnSg+RVR4np/xz/UlC0yFUisH75cZsJ8T1pkGMfiEouR0EM
+7O0uFgoboRfUP582TTWy0F7ynSA6YfGKnKj0OFwZJmGHVkLs1VevWjhj3R1fsPan
+H05P5moePFnpQdj1FofoSxUHZ0c7VB+sUimboHm/uHNY1LOsk77qiSuVC5/yrdg3
+2EEfP/mxJYT4r/5UiD7VahySzeZHzZ2OibQm2AfgfMN3l57lCM3/WPQBhMAPS1jz
+kE+7MjajM2f0aZctimW4Hasrj8AQnfAdHqZehbhtXaAlffNEzCdpNK584oCTVR7N
+UR9iZFx83ruTqpo+GcLP/iSYqhM4g7fy45sNhU+IS+ca03zbxTl3TTlkofXunI5B
+xxE30eGSQpDZ5+iUJcEOAuVKrlYocFbB3KF45hwcbzPWQ1DcO2jFAapOtQzeS+MZ
+yZzT2YseJ8hQHKu8YrXZWwKaNfyl8kFkHUBDICowNEoZvBwRCQp8sgqL6YRZy0uD
+JGxmnC2e0BVKSjcIvmq/CRWH7yiTk9eWm73xrsg9iIyD/kwJEnLyIk8tR5V8p/hc
+1H2AjDrZH12PsZ45AgMBAAGjgfMwgfAwEgYDVR0TAQH/BAgwBgEB/wIBATARBgNV
+HSAECjAIMAYGBFUdIAAwOgYIKwYBBQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRw
+Oi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wDgYDVR0PAQH/BAQDAgEGMB8GA1Ud
+IwQYMBaAFO3nb3Zav2DsSVvGpXe7chZxm8Q9MDsGA1UdHwQ0MDIwMKAuoCyGKmh0
+dHA6Ly9jcmwucXVvdmFkaXNnbG9iYWwuY29tL3F2cmNhMmczLmNybDAdBgNVHQ4E
+FgQUsxKJtalLNbwVAPCA6dh4h/ETfHYwDQYJKoZIhvcNAQELBQADggIBAFGm1Fqp
+RMiKr7a6h707M+km36PVXZnX1NZocCn36MrfRvphotbOCDm+GmRkar9ZMGhc8c/A
+Vn7JSCjwF9jNOFIOUyNLq0w4luk+Pt2YFDbgF8IDdx53xIo8Gv05e9xpTvQYaIto
+qeHbQjGXfSGc91olfX6JUwZlxxbhdJH+rxTFAg0jcbqToJoScWTfXSr1QRcNbSTs
+Y4CPG6oULsnhVvrzgldGSK+DxFi2OKcDsOKkV7W4IGg8Do2L/M588AfBnV8ERzpl
+qgMBBQxC2+0N6RdFHbmZt0HQE/NIg1s0xcjGx1XW3YTOfje31rmAXKHOehm4Bu48
+gr8gePq5cdQ2W9tA0Dnytb9wzH2SyPPIXRI7yNxaX9H8wYeDeeiKSSmQtfh1v5cV
+7RXvm8F6hLJkkco/HOW3dAUwZFcKsUH+1eUJKLN18eDGwB8yGawjHvOKqcfg5Lf/
+TvC7hgcx7pDYaCCaqHaekgUwXbB2Enzqr1fdwoU1c01W5YuQAtAx5wk1bf34Yq/J
+ph7wNXGvo88N0/EfP9AdVGmJzy7VuRXeVAOyjKAIeADMlwpjBRhcbs9m3dkqvoMb
+SXKJxv/hFmNgEOvOlaFsXX1dbKg1v+C1AzKAFdiuAIa62JzASiEhigqNSdqdTsOh
+8W8hdONuKKpe9zKedhBFAvuxhDgKmnySglYc
+-----END CERTIFICATE-----
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL
+BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
+BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00
+MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf
+qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW
+n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym
+c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+
+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1
+o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j
+IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq
+IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz
+8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh
+vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l
+7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG
+cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
+BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD
+ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66
+AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC
+roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga
+W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n
+lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE
++V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV
+csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd
+dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg
+KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM
+HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4
+WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M
+-----END CERTIFICATE-----
+
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/ec2_win_password.pem b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/ec2_win_password.pem
new file mode 100644
index 000000000..e1792109e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/ec2_win_password.pem
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQDAt4WXUohebyTXAxEBkfCjuaKBgv5VgGwHeSWomB0IoKszlNHL
+itadHg/vDi1gHSeRANw4KccpFAEIy4Oq3bMpI/rFrDdj/otp4wDcZKuIxq8OtU4b
+KBXsSJD9vxAMZktaJ28gpv+mSjnmz+uC0QiuticKaO62pWPGdd6RjuylkwIDAQAB
+AoGAUNSo069qQzGa4hQHLgFoTUOvRWMMChCzPu8xPGWQx+2b4SaqWBUDryLMzBfG
+MGoKDmet9mCPiEs7o9S4hRI38m2dKBPHRjpFJDPrJmsKNyjk9yBrcJf6EysNEPbd
+mYt7DxyUHVNQJpLOPXuMFSi/iloXTBRZ0dEzvhCp2nmX9wECQQD8+s89dwIm41QK
+laqELxSVDtSkfLkBIYtw4xPEfuXufna7LHXnR6b9CELAD8L5ht5CiXHzVPpiuwz4
+AaIvK44tAkEAwwSHaT6AOeXKNnNLTM+UzFW4rKixsSMQVD/7OjU0/IabFOkE+uY/
+WTgLrp1OsqhhDRS/F/eN9uj0dXHXgBEavwJAImW77gCTg1QfpjzJbaW1J7tXgHIQ
++a1k91l445vZib8aR8L42RSuCPOpl9HM0f7bk7J6kvp3/Rqv3bzjH4TNlQJBAId1
+k+FEqqiMtsLPntRBs+ei+13i51pVMrhyoLyzzJRDo2EI4o6sdAAy79pgJhPu5UrC
+yGGLcK667WLOqpOoTd0CQQC/4Bq12KCwk9VEWOzNV+kPFzTb85RuzwH5Tis+Fbp2
+CNc26WPeNwOvNxXgzAve4G4CaUNLnmATatr5BKjU8Xkr
+-----END RSA PRIVATE KEY----- \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/simple-chain-a.cert b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/simple-chain-a.cert
new file mode 100644
index 000000000..1d9bbe213
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/simple-chain-a.cert
@@ -0,0 +1,18 @@
+subject=/C=AU/ST=Victoria/L=Melbourne/O=Telstra Corporation Limited/OU=Telstra Energy/CN=dev.energy.inside.telstra.com
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+-----BEGIN CERTIFICATE-----
+aaa
+-----END CERTIFICATE-----
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+bbb
+-----END CERTIFICATE-----
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+ccc
+-----END CERTIFICATE-----
+
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/simple-chain-b.cert b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/simple-chain-b.cert
new file mode 100644
index 000000000..1d9bbe213
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/certs/simple-chain-b.cert
@@ -0,0 +1,18 @@
+subject=/C=AU/ST=Victoria/L=Melbourne/O=Telstra Corporation Limited/OU=Telstra Energy/CN=dev.energy.inside.telstra.com
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+-----BEGIN CERTIFICATE-----
+aaa
+-----END CERTIFICATE-----
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Global SSL ICA G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+bbb
+-----END CERTIFICATE-----
+
+subject=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+issuer=/C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3
+-----BEGIN CERTIFICATE-----
+ccc
+-----END CERTIFICATE-----
+
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/thezip.zip b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/thezip.zip
new file mode 100644
index 000000000..6eaefdd5e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/fixtures/thezip.zip
Binary files differ
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/.gitkeep b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/.gitkeep
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/.gitkeep
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/__init__.py b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/__init__.py
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/__init__.py b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/__init__.py
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.ActivatePipeline_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.ActivatePipeline_1.json
new file mode 100644
index 000000000..3ae6a8c5e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.ActivatePipeline_1.json
@@ -0,0 +1,16 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RequestId": "bf44512b-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:16 GMT",
+ "x-amzn-requestid": "bf44512b-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "2"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..cf86d8a78
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "bf07bcc3-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:15 GMT",
+ "x-amzn-requestid": "bf07bcc3-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_10.json
new file mode 100644
index 000000000..0b5864d68
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_10.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "e9c3fc64-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:23:27 GMT",
+ "x-amzn-requestid": "e9c3fc64-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_11.json
new file mode 100644
index 000000000..150f8bb9f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_11.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "efcd17aa-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:23:37 GMT",
+ "x-amzn-requestid": "efcd17aa-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_12.json
new file mode 100644
index 000000000..ed0757460
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_12.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f5dcc189-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:23:47 GMT",
+ "x-amzn-requestid": "f5dcc189-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_13.json
new file mode 100644
index 000000000..92e9e1041
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_13.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "fbea4982-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:23:58 GMT",
+ "x-amzn-requestid": "fbea4982-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_14.json
new file mode 100644
index 000000000..88e296b4d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_14.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "01f44f22-68ca-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:24:08 GMT",
+ "x-amzn-requestid": "01f44f22-68ca-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_15.json
new file mode 100644
index 000000000..d2c0a6c4d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_15.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "07fd6963-68ca-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:24:18 GMT",
+ "x-amzn-requestid": "07fd6963-68ca-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_16.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_16.json
new file mode 100644
index 000000000..2d03f26b6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_16.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "0e065d77-68ca-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:24:28 GMT",
+ "x-amzn-requestid": "0e065d77-68ca-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_17.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_17.json
new file mode 100644
index 000000000..6ce92dd06
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_17.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "140f9f9e-68ca-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:24:38 GMT",
+ "x-amzn-requestid": "140f9f9e-68ca-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_18.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_18.json
new file mode 100644
index 000000000..6dd2ecaff
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_18.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "1a197dcb-68ca-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:24:48 GMT",
+ "x-amzn-requestid": "1a197dcb-68ca-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_19.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_19.json
new file mode 100644
index 000000000..07ac32abe
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_19.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "2024946b-68ca-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:24:58 GMT",
+ "x-amzn-requestid": "2024946b-68ca-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_2.json
new file mode 100644
index 000000000..e33b2a75d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_2.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "bf3116b5-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:16 GMT",
+ "x-amzn-requestid": "bf3116b5-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_20.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_20.json
new file mode 100644
index 000000000..7f5c5690d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_20.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "262e24bf-68ca-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:25:08 GMT",
+ "x-amzn-requestid": "262e24bf-68ca-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_21.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_21.json
new file mode 100644
index 000000000..c506708e1
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_21.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "2c360727-68ca-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:25:19 GMT",
+ "x-amzn-requestid": "2c360727-68ca-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_22.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_22.json
new file mode 100644
index 000000000..3c054ad63
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_22.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "323eacc0-68ca-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:25:28 GMT",
+ "x-amzn-requestid": "323eacc0-68ca-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_23.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_23.json
new file mode 100644
index 000000000..68edbdf32
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_23.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "38524edf-68ca-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:25:38 GMT",
+ "x-amzn-requestid": "38524edf-68ca-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_24.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_24.json
new file mode 100644
index 000000000..e3c848f0b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_24.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "3e591fbf-68ca-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:25:49 GMT",
+ "x-amzn-requestid": "3e591fbf-68ca-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_25.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_25.json
new file mode 100644
index 000000000..0e978934a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_25.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "44623acf-68ca-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:25:59 GMT",
+ "x-amzn-requestid": "44623acf-68ca-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_26.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_26.json
new file mode 100644
index 000000000..52f285c4f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_26.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "4a6d5137-68ca-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:26:09 GMT",
+ "x-amzn-requestid": "4a6d5137-68ca-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_27.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_27.json
new file mode 100644
index 000000000..c924e04b9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_27.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "5073d37b-68ca-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:26:19 GMT",
+ "x-amzn-requestid": "5073d37b-68ca-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_28.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_28.json
new file mode 100644
index 000000000..c6dc79a2e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_28.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "567d8b04-68ca-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:26:29 GMT",
+ "x-amzn-requestid": "567d8b04-68ca-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_29.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_29.json
new file mode 100644
index 000000000..9fc212bff
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_29.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "5c86a656-68ca-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:26:39 GMT",
+ "x-amzn-requestid": "5c86a656-68ca-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_3.json
new file mode 100644
index 000000000..a6f60960b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_3.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "bf84b4fb-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:16 GMT",
+ "x-amzn-requestid": "bf84b4fb-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_30.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_30.json
new file mode 100644
index 000000000..51458da7d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_30.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "62984c6d-68ca-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:26:50 GMT",
+ "x-amzn-requestid": "62984c6d-68ca-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_31.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_31.json
new file mode 100644
index 000000000..2a4593dce
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_31.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "689f4441-68ca-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:26:59 GMT",
+ "x-amzn-requestid": "689f4441-68ca-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_32.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_32.json
new file mode 100644
index 000000000..34722b75b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_32.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "6eab44f8-68ca-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:27:10 GMT",
+ "x-amzn-requestid": "6eab44f8-68ca-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_33.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_33.json
new file mode 100644
index 000000000..74dd54aea
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_33.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "74b375a8-68ca-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:27:20 GMT",
+ "x-amzn-requestid": "74b375a8-68ca-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_34.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_34.json
new file mode 100644
index 000000000..0f5ebd697
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_34.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "74c54ffa-68ca-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:27:20 GMT",
+ "x-amzn-requestid": "74c54ffa-68ca-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_35.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_35.json
new file mode 100644
index 000000000..77ccecca1
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_35.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "74d6dc2b-68ca-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:27:20 GMT",
+ "x-amzn-requestid": "74d6dc2b-68ca-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_36.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_36.json
new file mode 100644
index 000000000..b362bad2e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_36.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "74e8dd8c-68ca-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:27:20 GMT",
+ "x-amzn-requestid": "74e8dd8c-68ca-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_4.json
new file mode 100644
index 000000000..cd1b5e06e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_4.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "c58f574c-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:27 GMT",
+ "x-amzn-requestid": "c58f574c-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_5.json
new file mode 100644
index 000000000..ff64bbbf6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_5.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "cb97871c-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:36 GMT",
+ "x-amzn-requestid": "cb97871c-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_6.json
new file mode 100644
index 000000000..f707cc1e2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_6.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "d19f69b0-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:47 GMT",
+ "x-amzn-requestid": "d19f69b0-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_7.json
new file mode 100644
index 000000000..73c383cbb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_7.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "d7aa0b78-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:56 GMT",
+ "x-amzn-requestid": "d7aa0b78-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_8.json
new file mode 100644
index 000000000..4c460447b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_8.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "ddb19f29-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:23:06 GMT",
+ "x-amzn-requestid": "ddb19f29-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_9.json
new file mode 100644
index 000000000..2f6e66527
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.DescribePipelines_9.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:22:17",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:18",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "2",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "e3ba9338-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:23:17 GMT",
+ "x-amzn-requestid": "e3ba9338-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.ListPipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.ListPipelines_1.json
new file mode 100644
index 000000000..27f67f45d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_pipeline/datapipeline.ListPipelines_1.json
@@ -0,0 +1,23 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineIdList": [
+ {
+ "name": "ansible-test-create-pipeline",
+ "id": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "hasMoreResults": false,
+ "ResponseMetadata": {
+ "RequestId": "bf1ca4df-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:15 GMT",
+ "x-amzn-requestid": "bf1ca4df-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "114"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.ActivatePipeline_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.ActivatePipeline_1.json
new file mode 100644
index 000000000..424226cf2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.ActivatePipeline_1.json
@@ -0,0 +1,20 @@
+{
+ "status_code": 400,
+ "data": {
+ "Error": {
+ "Message": "Pipeline definition is empty: ",
+ "Code": "InvalidRequestException"
+ },
+ "ResponseMetadata": {
+ "RequestId": "f6f52c07-68c8-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:40 GMT",
+ "x-amzn-requestid": "f6f52c07-68c8-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "2"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 400
+ }
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..280e88878
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f6e15657-68c8-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:39 GMT",
+ "x-amzn-requestid": "f6e15657-68c8-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "749"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_10.json
new file mode 100644
index 000000000..687ec932b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_10.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "27ea4875-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:18:02 GMT",
+ "x-amzn-requestid": "27ea4875-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_11.json
new file mode 100644
index 000000000..6fc95d259
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_11.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "2df3155e-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:18:12 GMT",
+ "x-amzn-requestid": "2df3155e-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_12.json
new file mode 100644
index 000000000..2f2541804
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_12.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "33fca5d4-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:18:22 GMT",
+ "x-amzn-requestid": "33fca5d4-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_13.json
new file mode 100644
index 000000000..11b8e4469
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_13.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "3a06aa5e-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:18:32 GMT",
+ "x-amzn-requestid": "3a06aa5e-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_14.json
new file mode 100644
index 000000000..8048f2cab
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_14.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "4010fe25-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:18:42 GMT",
+ "x-amzn-requestid": "4010fe25-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_15.json
new file mode 100644
index 000000000..093d665c2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_15.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "461a8e6d-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:18:52 GMT",
+ "x-amzn-requestid": "461a8e6d-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_16.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_16.json
new file mode 100644
index 000000000..2e8b57f6e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_16.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "4c241ddb-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:19:02 GMT",
+ "x-amzn-requestid": "4c241ddb-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_17.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_17.json
new file mode 100644
index 000000000..ad4d839d2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_17.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "522e9922-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:19:12 GMT",
+ "x-amzn-requestid": "522e9922-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_18.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_18.json
new file mode 100644
index 000000000..6b0a4caef
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_18.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "583569c6-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:19:22 GMT",
+ "x-amzn-requestid": "583569c6-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_19.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_19.json
new file mode 100644
index 000000000..6930a68c0
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_19.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "5e400aef-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:19:33 GMT",
+ "x-amzn-requestid": "5e400aef-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_2.json
new file mode 100644
index 000000000..56d124192
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_2.json
@@ -0,0 +1,70 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f79eb2fb-68c8-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:40 GMT",
+ "x-amzn-requestid": "f79eb2fb-68c8-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "816"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_20.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_20.json
new file mode 100644
index 000000000..6da59eb11
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_20.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "644b972f-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:19:43 GMT",
+ "x-amzn-requestid": "644b972f-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_21.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_21.json
new file mode 100644
index 000000000..a35362999
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_21.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "6a55756a-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:19:53 GMT",
+ "x-amzn-requestid": "6a55756a-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_22.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_22.json
new file mode 100644
index 000000000..ee11a72a6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_22.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "705f79f8-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:20:03 GMT",
+ "x-amzn-requestid": "705f79f8-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_23.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_23.json
new file mode 100644
index 000000000..bcc74920f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_23.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "76690aa7-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:20:13 GMT",
+ "x-amzn-requestid": "76690aa7-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_24.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_24.json
new file mode 100644
index 000000000..8c03bdacb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_24.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "7c73f9be-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:20:23 GMT",
+ "x-amzn-requestid": "7c73f9be-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_25.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_25.json
new file mode 100644
index 000000000..33f33aeb2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_25.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "827b3ff5-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:20:33 GMT",
+ "x-amzn-requestid": "827b3ff5-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_26.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_26.json
new file mode 100644
index 000000000..344ac6fda
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_26.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "88843410-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:20:44 GMT",
+ "x-amzn-requestid": "88843410-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_27.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_27.json
new file mode 100644
index 000000000..74593cd8f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_27.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "8e8e3994-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:20:53 GMT",
+ "x-amzn-requestid": "8e8e3994-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_28.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_28.json
new file mode 100644
index 000000000..6a0c9273c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_28.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "949928d8-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:04 GMT",
+ "x-amzn-requestid": "949928d8-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_29.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_29.json
new file mode 100644
index 000000000..0fad51025
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_29.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "9aa502aa-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:15 GMT",
+ "x-amzn-requestid": "9aa502aa-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_3.json
new file mode 100644
index 000000000..7006b60f3
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_3.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "fda8b75e-68c8-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:51 GMT",
+ "x-amzn-requestid": "fda8b75e-68c8-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_30.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_30.json
new file mode 100644
index 000000000..c1b827dab
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_30.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "a0aee145-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:24 GMT",
+ "x-amzn-requestid": "a0aee145-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_31.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_31.json
new file mode 100644
index 000000000..b123c576e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_31.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "a6bf4ec4-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:34 GMT",
+ "x-amzn-requestid": "a6bf4ec4-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_32.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_32.json
new file mode 100644
index 000000000..fbfc4a232
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_32.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "acc70a54-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:44 GMT",
+ "x-amzn-requestid": "acc70a54-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_33.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_33.json
new file mode 100644
index 000000000..3d06d6ebf
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_33.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "acda9253-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:44 GMT",
+ "x-amzn-requestid": "acda9253-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_34.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_34.json
new file mode 100644
index 000000000..a5dc9ff87
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_34.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "aceb5aed-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:45 GMT",
+ "x-amzn-requestid": "aceb5aed-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_35.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_35.json
new file mode 100644
index 000000000..b11ca2c7d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_35.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "acfff4a4-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:45 GMT",
+ "x-amzn-requestid": "acfff4a4-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_4.json
new file mode 100644
index 000000000..ff0129331
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_4.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "03b295e1-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:17:01 GMT",
+ "x-amzn-requestid": "03b295e1-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_5.json
new file mode 100644
index 000000000..668553752
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_5.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "09bb89f0-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:17:11 GMT",
+ "x-amzn-requestid": "09bb89f0-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_6.json
new file mode 100644
index 000000000..90645b553
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_6.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "0fc6eeb0-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:17:21 GMT",
+ "x-amzn-requestid": "0fc6eeb0-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_7.json
new file mode 100644
index 000000000..b3b755fc5
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_7.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "15ce3481-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:17:31 GMT",
+ "x-amzn-requestid": "15ce3481-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_8.json
new file mode 100644
index 000000000..464745d82
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_8.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "1bd74fa4-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:17:41 GMT",
+ "x-amzn-requestid": "1bd74fa4-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_9.json
new file mode 100644
index 000000000..bdd64ea61
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.DescribePipelines_9.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "21e06a01-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:17:51 GMT",
+ "x-amzn-requestid": "21e06a01-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.ListPipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.ListPipelines_1.json
new file mode 100644
index 000000000..52bbd4d4b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/activate_without_population/datapipeline.ListPipelines_1.json
@@ -0,0 +1,23 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineIdList": [
+ {
+ "name": "ansible-test-create-pipeline",
+ "id": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "hasMoreResults": false,
+ "ResponseMetadata": {
+ "RequestId": "f6d10235-68c8-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:39 GMT",
+ "x-amzn-requestid": "f6d10235-68c8-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "114"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/check_dp_exists_false/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/check_dp_exists_false/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..dd143dadf
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/check_dp_exists_false/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,21 @@
+{
+ "status_code": 400,
+ "data": {
+ "Error": {
+ "Message": "Pipeline with id: df-015440025PF7YGLDK47C does not exist",
+ "Code": "PipelineDeletedException"
+ },
+ "ResponseMetadata": {
+ "RequestId": "be8212fd-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:15 GMT",
+ "x-amzn-requestid": "be8212fd-68c9-11e7-b0eb-93771d0a5156",
+ "content-length": "106",
+ "cneonction": "close",
+ "content-type": "application/x-amz-json-1.1"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 400
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/check_dp_exists_true/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/check_dp_exists_true/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..3ec57c353
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/check_dp_exists_true/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "be402786-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:14 GMT",
+ "x-amzn-requestid": "be402786-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/check_dp_status/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/check_dp_status/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..607e15f43
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/check_dp_status/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "bec5ab3e-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:15 GMT",
+ "x-amzn-requestid": "bec5ab3e-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.CreatePipeline_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.CreatePipeline_1.json
new file mode 100644
index 000000000..d3d66fc78
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.CreatePipeline_1.json
@@ -0,0 +1,17 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineId": "df-09359422DAX2M66ZHFVF",
+ "ResponseMetadata": {
+ "RequestId": "ad608b38-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:45 GMT",
+ "x-amzn-requestid": "ad608b38-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "40"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DeletePipeline_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DeletePipeline_1.json
new file mode 100644
index 000000000..4eb0f69f7
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DeletePipeline_1.json
@@ -0,0 +1,16 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RequestId": "adf8fab8-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:46 GMT",
+ "x-amzn-requestid": "adf8fab8-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "0"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..d5e317ba5
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:21:46",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-unittest-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-09359422DAX2M66ZHFVF",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "9fee08b05473783e91357fadb089e036",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-unittest-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-09359422DAX2M66ZHFVF"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "ad8e790b-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:45 GMT",
+ "x-amzn-requestid": "ad8e790b-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "757"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_2.json
new file mode 100644
index 000000000..6503b9407
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_2.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:21:46",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-unittest-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-09359422DAX2M66ZHFVF",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "9fee08b05473783e91357fadb089e036",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-unittest-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-09359422DAX2M66ZHFVF"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "ad9f6906-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:45 GMT",
+ "x-amzn-requestid": "ad9f6906-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "757"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_3.json
new file mode 100644
index 000000000..7931c79ff
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_3.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:21:46",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-unittest-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-09359422DAX2M66ZHFVF",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "9fee08b05473783e91357fadb089e036",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-unittest-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-09359422DAX2M66ZHFVF"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "adb27bcf-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:46 GMT",
+ "x-amzn-requestid": "adb27bcf-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "757"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_4.json
new file mode 100644
index 000000000..58c08d13a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_4.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:21:46",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-unittest-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-09359422DAX2M66ZHFVF",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "9fee08b05473783e91357fadb089e036",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-unittest-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-09359422DAX2M66ZHFVF"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "adc31da7-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:47 GMT",
+ "x-amzn-requestid": "adc31da7-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "757"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_5.json
new file mode 100644
index 000000000..5b289e18a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_5.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:21:46",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-unittest-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-09359422DAX2M66ZHFVF",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "9fee08b05473783e91357fadb089e036",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-unittest-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-09359422DAX2M66ZHFVF"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "add67e94-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:46 GMT",
+ "x-amzn-requestid": "add67e94-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "757"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_6.json
new file mode 100644
index 000000000..ceebab8bc
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.DescribePipelines_6.json
@@ -0,0 +1,21 @@
+{
+ "status_code": 400,
+ "data": {
+ "Error": {
+ "Message": "Pipeline with id: df-09359422DAX2M66ZHFVF does not exist",
+ "Code": "PipelineDeletedException"
+ },
+ "ResponseMetadata": {
+ "RequestId": "aeac4532-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:47 GMT",
+ "x-amzn-requestid": "aeac4532-68c9-11e7-b9c1-53eb374c7a33",
+ "content-length": "106",
+ "cneonction": "close",
+ "content-type": "application/x-amz-json-1.1"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 400
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.ListPipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.ListPipelines_1.json
new file mode 100644
index 000000000..52879777a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.ListPipelines_1.json
@@ -0,0 +1,23 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineIdList": [
+ {
+ "name": "ansible-test-create-pipeline",
+ "id": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "hasMoreResults": false,
+ "ResponseMetadata": {
+ "RequestId": "ad4c18d7-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:45 GMT",
+ "x-amzn-requestid": "ad4c18d7-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "114"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.ListPipelines_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.ListPipelines_2.json
new file mode 100644
index 000000000..db5bca68e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline/datapipeline.ListPipelines_2.json
@@ -0,0 +1,27 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineIdList": [
+ {
+ "name": "ansible-unittest-create-pipeline",
+ "id": "df-09359422DAX2M66ZHFVF"
+ },
+ {
+ "name": "ansible-test-create-pipeline",
+ "id": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "hasMoreResults": false,
+ "ResponseMetadata": {
+ "RequestId": "ade6f959-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:47 GMT",
+ "x-amzn-requestid": "ade6f959-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "189"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..683e9d874
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f514fa3e-68c8-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:37 GMT",
+ "x-amzn-requestid": "f514fa3e-68c8-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "749"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_2.json
new file mode 100644
index 000000000..716f3144c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_2.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f53e7b42-68c8-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:37 GMT",
+ "x-amzn-requestid": "f53e7b42-68c8-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "749"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_3.json
new file mode 100644
index 000000000..7dd271c58
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_3.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f54f4483-68c8-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:36 GMT",
+ "x-amzn-requestid": "f54f4483-68c8-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "749"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_4.json
new file mode 100644
index 000000000..e10c58520
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.DescribePipelines_4.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f561bb16-68c8-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:37 GMT",
+ "x-amzn-requestid": "f561bb16-68c8-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "749"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.GetPipelineDefinition_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.GetPipelineDefinition_1.json
new file mode 100644
index 000000000..37bfa2945
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.GetPipelineDefinition_1.json
@@ -0,0 +1,17 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineObjects": [],
+ "ResponseMetadata": {
+ "RequestId": "f525c381-68c8-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:36 GMT",
+ "x-amzn-requestid": "f525c381-68c8-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "22"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.ListPipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.ListPipelines_1.json
new file mode 100644
index 000000000..ee0f18284
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_already_exists/datapipeline.ListPipelines_1.json
@@ -0,0 +1,23 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineIdList": [
+ {
+ "name": "ansible-test-create-pipeline",
+ "id": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "hasMoreResults": false,
+ "ResponseMetadata": {
+ "RequestId": "f503e33c-68c8-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:37 GMT",
+ "x-amzn-requestid": "f503e33c-68c8-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "114"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.CreatePipeline_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.CreatePipeline_1.json
new file mode 100644
index 000000000..3bd2a7cc2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.CreatePipeline_1.json
@@ -0,0 +1,17 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineId": "df-04922542NBJ1I10KYE8",
+ "ResponseMetadata": {
+ "RequestId": "aefed20e-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:48 GMT",
+ "x-amzn-requestid": "aefed20e-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "39"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DeletePipeline_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DeletePipeline_1.json
new file mode 100644
index 000000000..d289367b2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DeletePipeline_1.json
@@ -0,0 +1,16 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RequestId": "af93e632-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:49 GMT",
+ "x-amzn-requestid": "af93e632-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "0"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..71adca022
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,75 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "[{\"key\":\"ansible\",\"value\":\"test\"}]",
+ "key": "*tags"
+ },
+ {
+ "stringValue": "2017-07-14T19:21:49",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-unittest-create-pipeline_tags",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-04922542NBJ1I10KYE8",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "644685a53f98d695792be5e2e69f6504",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-unittest-create-pipeline_tags",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [
+ {
+ "value": "test",
+ "key": "ansible"
+ }
+ ],
+ "pipelineId": "df-04922542NBJ1I10KYE8"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "af23e641-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:48 GMT",
+ "x-amzn-requestid": "af23e641-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "872"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_2.json
new file mode 100644
index 000000000..85da03b60
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_2.json
@@ -0,0 +1,75 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "[{\"key\":\"ansible\",\"value\":\"test\"}]",
+ "key": "*tags"
+ },
+ {
+ "stringValue": "2017-07-14T19:21:49",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-unittest-create-pipeline_tags",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-04922542NBJ1I10KYE8",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "644685a53f98d695792be5e2e69f6504",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-unittest-create-pipeline_tags",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [
+ {
+ "value": "test",
+ "key": "ansible"
+ }
+ ],
+ "pipelineId": "df-04922542NBJ1I10KYE8"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "af35c095-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:48 GMT",
+ "x-amzn-requestid": "af35c095-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "872"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_3.json
new file mode 100644
index 000000000..11f092d11
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_3.json
@@ -0,0 +1,75 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "[{\"key\":\"ansible\",\"value\":\"test\"}]",
+ "key": "*tags"
+ },
+ {
+ "stringValue": "2017-07-14T19:21:49",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-unittest-create-pipeline_tags",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-04922542NBJ1I10KYE8",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "644685a53f98d695792be5e2e69f6504",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-unittest-create-pipeline_tags",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [
+ {
+ "value": "test",
+ "key": "ansible"
+ }
+ ],
+ "pipelineId": "df-04922542NBJ1I10KYE8"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "af47c1f9-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:48 GMT",
+ "x-amzn-requestid": "af47c1f9-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "872"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_4.json
new file mode 100644
index 000000000..b468ced7a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_4.json
@@ -0,0 +1,75 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "[{\"key\":\"ansible\",\"value\":\"test\"}]",
+ "key": "*tags"
+ },
+ {
+ "stringValue": "2017-07-14T19:21:49",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-unittest-create-pipeline_tags",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-04922542NBJ1I10KYE8",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "644685a53f98d695792be5e2e69f6504",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-unittest-create-pipeline_tags",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [
+ {
+ "value": "test",
+ "key": "ansible"
+ }
+ ],
+ "pipelineId": "df-04922542NBJ1I10KYE8"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "af5ecc6b-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:48 GMT",
+ "x-amzn-requestid": "af5ecc6b-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "872"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_5.json
new file mode 100644
index 000000000..4bd0f5c08
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_5.json
@@ -0,0 +1,75 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "[{\"key\":\"ansible\",\"value\":\"test\"}]",
+ "key": "*tags"
+ },
+ {
+ "stringValue": "2017-07-14T19:21:49",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-unittest-create-pipeline_tags",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-04922542NBJ1I10KYE8",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "644685a53f98d695792be5e2e69f6504",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-unittest-create-pipeline_tags",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [
+ {
+ "value": "test",
+ "key": "ansible"
+ }
+ ],
+ "pipelineId": "df-04922542NBJ1I10KYE8"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "af70a6bd-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:48 GMT",
+ "x-amzn-requestid": "af70a6bd-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "872"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_6.json
new file mode 100644
index 000000000..bfc29027d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_6.json
@@ -0,0 +1,79 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "[{\"key\":\"ansible\",\"value\":\"test\"}]",
+ "key": "*tags"
+ },
+ {
+ "stringValue": "2017-07-14T19:21:49",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "2017-07-14T19:21:50",
+ "key": "@deletionRequestTime"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-unittest-create-pipeline_tags",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-04922542NBJ1I10KYE8",
+ "key": "@id"
+ },
+ {
+ "stringValue": "DELETING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "644685a53f98d695792be5e2e69f6504",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-unittest-create-pipeline_tags",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [
+ {
+ "value": "test",
+ "key": "ansible"
+ }
+ ],
+ "pipelineId": "df-04922542NBJ1I10KYE8"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "afe22d47-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:49 GMT",
+ "x-amzn-requestid": "afe22d47-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "940"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_7.json
new file mode 100644
index 000000000..d47b5f1c9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.DescribePipelines_7.json
@@ -0,0 +1,21 @@
+{
+ "status_code": 400,
+ "data": {
+ "Error": {
+ "Message": "Pipeline with id: df-04922542NBJ1I10KYE8 does not exist",
+ "Code": "PipelineDeletedException"
+ },
+ "ResponseMetadata": {
+ "RequestId": "b5eb4768-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:00 GMT",
+ "x-amzn-requestid": "b5eb4768-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-length": "105",
+ "cneonction": "close",
+ "content-type": "application/x-amz-json-1.1"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 400
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.ListPipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.ListPipelines_1.json
new file mode 100644
index 000000000..734f84e23
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.ListPipelines_1.json
@@ -0,0 +1,23 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineIdList": [
+ {
+ "name": "ansible-test-create-pipeline",
+ "id": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "hasMoreResults": false,
+ "ResponseMetadata": {
+ "RequestId": "aeec5b7d-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:48 GMT",
+ "x-amzn-requestid": "aeec5b7d-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "114"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.ListPipelines_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.ListPipelines_2.json
new file mode 100644
index 000000000..548363731
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/create_pipeline_with_tags/datapipeline.ListPipelines_2.json
@@ -0,0 +1,27 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineIdList": [
+ {
+ "name": "ansible-test-create-pipeline",
+ "id": "df-0590406117G8DPQZY2HA"
+ },
+ {
+ "name": "ansible-unittest-create-pipeline_tags",
+ "id": "df-04922542NBJ1I10KYE8"
+ }
+ ],
+ "hasMoreResults": false,
+ "ResponseMetadata": {
+ "RequestId": "af82f640-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:21:49 GMT",
+ "x-amzn-requestid": "af82f640-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "193"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..eca260f32
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f656a27e-68c8-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:38 GMT",
+ "x-amzn-requestid": "f656a27e-68c8-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "749"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_2.json
new file mode 100644
index 000000000..eb017c8a9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_2.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f66a5120-68c8-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:39 GMT",
+ "x-amzn-requestid": "f66a5120-68c8-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "749"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_3.json
new file mode 100644
index 000000000..6f331e3e2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_3.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f67b1a71-68c8-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:38 GMT",
+ "x-amzn-requestid": "f67b1a71-68c8-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "749"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_4.json
new file mode 100644
index 000000000..05b81ef16
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.DescribePipelines_4.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f68d9103-68c8-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:38 GMT",
+ "x-amzn-requestid": "f68d9103-68c8-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "749"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.ListPipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.ListPipelines_1.json
new file mode 100644
index 000000000..2a8689ca4
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/deactivate_pipeline/datapipeline.ListPipelines_1.json
@@ -0,0 +1,23 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineIdList": [
+ {
+ "name": "ansible-test-create-pipeline",
+ "id": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "hasMoreResults": false,
+ "ResponseMetadata": {
+ "RequestId": "f6458b0d-68c8-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:39 GMT",
+ "x-amzn-requestid": "f6458b0d-68c8-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "114"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/define_pipeline/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/define_pipeline/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..c0b3bf9b3
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/define_pipeline/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f5e569e0-68c8-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:38 GMT",
+ "x-amzn-requestid": "f5e569e0-68c8-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "749"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/define_pipeline/datapipeline.PutPipelineDefinition_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/define_pipeline/datapipeline.PutPipelineDefinition_1.json
new file mode 100644
index 000000000..37d4f9ace
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/define_pipeline/datapipeline.PutPipelineDefinition_1.json
@@ -0,0 +1,19 @@
+{
+ "status_code": 200,
+ "data": {
+ "validationErrors": [],
+ "validationWarnings": [],
+ "errored": false,
+ "ResponseMetadata": {
+ "RequestId": "f5f855d7-68c8-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:38 GMT",
+ "x-amzn-requestid": "f5f855d7-68c8-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "63"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_nonexistent_pipeline/datapipeline.ListPipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_nonexistent_pipeline/datapipeline.ListPipelines_1.json
new file mode 100644
index 000000000..16a7c9b44
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_nonexistent_pipeline/datapipeline.ListPipelines_1.json
@@ -0,0 +1,23 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineIdList": [
+ {
+ "name": "ansible-test-create-pipeline",
+ "id": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "hasMoreResults": false,
+ "ResponseMetadata": {
+ "RequestId": "b62fa386-68c9-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:00 GMT",
+ "x-amzn-requestid": "b62fa386-68c9-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "114"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.CreatePipeline_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.CreatePipeline_1.json
new file mode 100644
index 000000000..9d780e9e6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.CreatePipeline_1.json
@@ -0,0 +1,17 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineId": "df-056994639BPQCQAZSAGU",
+ "ResponseMetadata": {
+ "RequestId": "b680d0bb-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:01 GMT",
+ "x-amzn-requestid": "b680d0bb-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "40"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DeletePipeline_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DeletePipeline_1.json
new file mode 100644
index 000000000..f26a6c61c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DeletePipeline_1.json
@@ -0,0 +1,16 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RequestId": "b718cb0a-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:02 GMT",
+ "x-amzn-requestid": "b718cb0a-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "0"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..47b2a84ee
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,75 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "[{\"key\":\"ansible\",\"value\":\"test\"}]",
+ "key": "*tags"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:01",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-test-nonexistent",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-nonexistent",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-056994639BPQCQAZSAGU",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "861ec422f1889d1124a9e84e63e37708",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-nonexistent",
+ "description": "ansible-test-nonexistent",
+ "tags": [
+ {
+ "value": "test",
+ "key": "ansible"
+ }
+ ],
+ "pipelineId": "df-056994639BPQCQAZSAGU"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "b6a82ede-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:01 GMT",
+ "x-amzn-requestid": "b6a82ede-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "836"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_2.json
new file mode 100644
index 000000000..b0c493f25
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_2.json
@@ -0,0 +1,75 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "[{\"key\":\"ansible\",\"value\":\"test\"}]",
+ "key": "*tags"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:01",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-test-nonexistent",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-nonexistent",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-056994639BPQCQAZSAGU",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "861ec422f1889d1124a9e84e63e37708",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-nonexistent",
+ "description": "ansible-test-nonexistent",
+ "tags": [
+ {
+ "value": "test",
+ "key": "ansible"
+ }
+ ],
+ "pipelineId": "df-056994639BPQCQAZSAGU"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "b6baa570-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:01 GMT",
+ "x-amzn-requestid": "b6baa570-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "836"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_3.json
new file mode 100644
index 000000000..c7358d738
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_3.json
@@ -0,0 +1,75 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "[{\"key\":\"ansible\",\"value\":\"test\"}]",
+ "key": "*tags"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:01",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-test-nonexistent",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-nonexistent",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-056994639BPQCQAZSAGU",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "861ec422f1889d1124a9e84e63e37708",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-nonexistent",
+ "description": "ansible-test-nonexistent",
+ "tags": [
+ {
+ "value": "test",
+ "key": "ansible"
+ }
+ ],
+ "pipelineId": "df-056994639BPQCQAZSAGU"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "b6cd9131-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:02 GMT",
+ "x-amzn-requestid": "b6cd9131-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "836"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_4.json
new file mode 100644
index 000000000..4f538bc6f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_4.json
@@ -0,0 +1,75 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "[{\"key\":\"ansible\",\"value\":\"test\"}]",
+ "key": "*tags"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:01",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-test-nonexistent",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-nonexistent",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-056994639BPQCQAZSAGU",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "861ec422f1889d1124a9e84e63e37708",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-nonexistent",
+ "description": "ansible-test-nonexistent",
+ "tags": [
+ {
+ "value": "test",
+ "key": "ansible"
+ }
+ ],
+ "pipelineId": "df-056994639BPQCQAZSAGU"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "b6e11933-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:02 GMT",
+ "x-amzn-requestid": "b6e11933-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "836"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_5.json
new file mode 100644
index 000000000..ed333f8cc
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_5.json
@@ -0,0 +1,75 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "[{\"key\":\"ansible\",\"value\":\"test\"}]",
+ "key": "*tags"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:01",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-test-nonexistent",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-nonexistent",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-056994639BPQCQAZSAGU",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "861ec422f1889d1124a9e84e63e37708",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-nonexistent",
+ "description": "ansible-test-nonexistent",
+ "tags": [
+ {
+ "value": "test",
+ "key": "ansible"
+ }
+ ],
+ "pipelineId": "df-056994639BPQCQAZSAGU"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "b6f3dde4-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:02 GMT",
+ "x-amzn-requestid": "b6f3dde4-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "836"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_6.json
new file mode 100644
index 000000000..ae737225e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_6.json
@@ -0,0 +1,79 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "[{\"key\":\"ansible\",\"value\":\"test\"}]",
+ "key": "*tags"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:01",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-test-nonexistent",
+ "key": "description"
+ },
+ {
+ "stringValue": "2017-07-14T19:22:02",
+ "key": "@deletionRequestTime"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-nonexistent",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-056994639BPQCQAZSAGU",
+ "key": "@id"
+ },
+ {
+ "stringValue": "DELETING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "861ec422f1889d1124a9e84e63e37708",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-nonexistent",
+ "description": "ansible-test-nonexistent",
+ "tags": [
+ {
+ "value": "test",
+ "key": "ansible"
+ }
+ ],
+ "pipelineId": "df-056994639BPQCQAZSAGU"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "b75fbf1d-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:02 GMT",
+ "x-amzn-requestid": "b75fbf1d-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "904"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_7.json
new file mode 100644
index 000000000..a9982a489
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.DescribePipelines_7.json
@@ -0,0 +1,21 @@
+{
+ "status_code": 400,
+ "data": {
+ "Error": {
+ "Message": "Pipeline with id: df-056994639BPQCQAZSAGU does not exist",
+ "Code": "PipelineDeletedException"
+ },
+ "ResponseMetadata": {
+ "RequestId": "bd6a133d-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:13 GMT",
+ "x-amzn-requestid": "bd6a133d-68c9-11e7-b0eb-93771d0a5156",
+ "content-length": "106",
+ "cneonction": "close",
+ "content-type": "application/x-amz-json-1.1"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 400
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.ListPipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.ListPipelines_1.json
new file mode 100644
index 000000000..e8de70f8d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.ListPipelines_1.json
@@ -0,0 +1,23 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineIdList": [
+ {
+ "name": "ansible-test-create-pipeline",
+ "id": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "hasMoreResults": false,
+ "ResponseMetadata": {
+ "RequestId": "b66f4488-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:01 GMT",
+ "x-amzn-requestid": "b66f4488-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "114"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.ListPipelines_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.ListPipelines_2.json
new file mode 100644
index 000000000..cefd11b5a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/delete_pipeline/datapipeline.ListPipelines_2.json
@@ -0,0 +1,27 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineIdList": [
+ {
+ "name": "ansible-test-create-pipeline",
+ "id": "df-0590406117G8DPQZY2HA"
+ },
+ {
+ "name": "ansible-test-nonexistent",
+ "id": "df-056994639BPQCQAZSAGU"
+ }
+ ],
+ "hasMoreResults": false,
+ "ResponseMetadata": {
+ "RequestId": "b706c9a6-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:02 GMT",
+ "x-amzn-requestid": "b706c9a6-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "181"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/pipeline_description/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/pipeline_description/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..bd3e9163e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/pipeline_description/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,82 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@lastActivationTime"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:42",
+ "key": "@finishedTime"
+ },
+ {
+ "stringValue": "1",
+ "key": "@version"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "FINISHED",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ },
+ {
+ "stringValue": "2017-07-14T19:16:40",
+ "key": "@firstActivationTime"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "bdbbdcc2-68c9-11e7-b0eb-93771d0a5156",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:13 GMT",
+ "x-amzn-requestid": "bdbbdcc2-68c9-11e7-b0eb-93771d0a5156",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "980"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/pipeline_description_nonexistent/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/pipeline_description_nonexistent/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..9125d89dd
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/pipeline_description_nonexistent/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,21 @@
+{
+ "status_code": 400,
+ "data": {
+ "Error": {
+ "Message": "Pipeline with id: df-015440025PF7YGLDK47C does not exist",
+ "Code": "PipelineDeletedException"
+ },
+ "ResponseMetadata": {
+ "RequestId": "bdfe3c7d-68c9-11e7-8d5f-8781ccf20ee6",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:22:13 GMT",
+ "x-amzn-requestid": "bdfe3c7d-68c9-11e7-8d5f-8781ccf20ee6",
+ "content-length": "106",
+ "cneonction": "close",
+ "content-type": "application/x-amz-json-1.1"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 400
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/pipeline_field/datapipeline.DescribePipelines_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/pipeline_field/datapipeline.DescribePipelines_1.json
new file mode 100644
index 000000000..26d6c68a2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/data_pipeline/pipeline_field/datapipeline.DescribePipelines_1.json
@@ -0,0 +1,66 @@
+{
+ "status_code": 200,
+ "data": {
+ "pipelineDescriptionList": [
+ {
+ "fields": [
+ {
+ "stringValue": "2017-07-14T19:16:35",
+ "key": "@creationTime"
+ },
+ {
+ "stringValue": "ansible-datapipeline-unit-test",
+ "key": "description"
+ },
+ {
+ "stringValue": "PIPELINE",
+ "key": "@sphere"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "pipelineCreator"
+ },
+ {
+ "stringValue": "ansible-test-create-pipeline",
+ "key": "name"
+ },
+ {
+ "stringValue": "df-0590406117G8DPQZY2HA",
+ "key": "@id"
+ },
+ {
+ "stringValue": "PENDING",
+ "key": "@pipelineState"
+ },
+ {
+ "stringValue": "123456789012",
+ "key": "@accountId"
+ },
+ {
+ "stringValue": "881b104bff5f07052e897bd79048b951",
+ "key": "uniqueId"
+ },
+ {
+ "stringValue": "AIDA12345EXAMPLE54321C",
+ "key": "@userId"
+ }
+ ],
+ "name": "ansible-test-create-pipeline",
+ "description": "ansible-datapipeline-unit-test",
+ "tags": [],
+ "pipelineId": "df-0590406117G8DPQZY2HA"
+ }
+ ],
+ "ResponseMetadata": {
+ "RequestId": "f5a52c58-68c8-11e7-b9c1-53eb374c7a33",
+ "HTTPHeaders": {
+ "date": "Fri, 14 Jul 2017 19:16:38 GMT",
+ "x-amzn-requestid": "f5a52c58-68c8-11e7-b9c1-53eb374c7a33",
+ "content-type": "application/x-amz-json-1.1",
+ "content-length": "749"
+ },
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200
+ }
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/__init__.py b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/__init__.py
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/associations_are_not_updated/directconnect.DescribeConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/associations_are_not_updated/directconnect.DescribeConnections_1.json
new file mode 100644
index 000000000..9a7458fbf
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/associations_are_not_updated/directconnect.DescribeConnections_1.json
@@ -0,0 +1,27 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "df6f9966-5b55-11e7-a69f-95e467ba41d7",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:30:03 GMT",
+ "content-length": "214"
+ },
+ "RequestId": "df6f9966-5b55-11e7-a69f-95e467ba41d7",
+ "HTTPStatusCode": 200
+ },
+ "connections": [
+ {
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgq9rgot",
+ "location": "EqSe2",
+ "connectionName": "ansible-test-connection",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/changed_properties/directconnect.DescribeConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/changed_properties/directconnect.DescribeConnections_1.json
new file mode 100644
index 000000000..310752ec6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/changed_properties/directconnect.DescribeConnections_1.json
@@ -0,0 +1,27 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 1,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "ded68d99-5b55-11e7-8bdd-db27cb754a2c",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:30:02 GMT",
+ "content-length": "214"
+ },
+ "RequestId": "ded68d99-5b55-11e7-8bdd-db27cb754a2c",
+ "HTTPStatusCode": 200
+ },
+ "connections": [
+ {
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgq9rgot",
+ "location": "EqSe2",
+ "connectionName": "ansible-test-connection",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_does_not_exist/directconnect.DescribeConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_does_not_exist/directconnect.DescribeConnections_1.json
new file mode 100644
index 000000000..d7de25231
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_does_not_exist/directconnect.DescribeConnections_1.json
@@ -0,0 +1,17 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "connections": []
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_exists_by_id/directconnect.DescribeConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_exists_by_id/directconnect.DescribeConnections_1.json
new file mode 100644
index 000000000..ce273abb8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_exists_by_id/directconnect.DescribeConnections_1.json
@@ -0,0 +1,27 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b8f5493c-5b55-11e7-a718-2b51b84a4672",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:28:58 GMT",
+ "content-length": "214"
+ },
+ "RequestId": "b8f5493c-5b55-11e7-a718-2b51b84a4672",
+ "HTTPStatusCode": 200
+ },
+ "connections": [
+ {
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgq9rgot",
+ "location": "EqSe2",
+ "connectionName": "ansible-test-connection",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_exists_by_name/directconnect.DescribeConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_exists_by_name/directconnect.DescribeConnections_1.json
new file mode 100644
index 000000000..d14f348b3
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_exists_by_name/directconnect.DescribeConnections_1.json
@@ -0,0 +1,45 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9a0566c-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "586"
+ },
+ "RequestId": "b9a0566c-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "connections": [
+ {
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgq9rgot",
+ "location": "EqSe2",
+ "connectionName": "ansible-test-connection",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ },
+ {
+ "connectionState": "requested",
+ "connectionId": "dxcon-fh69i7ez",
+ "location": "PEH51",
+ "connectionName": "test2shertel",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ },
+ {
+ "connectionState": "deleted",
+ "connectionId": "dxcon-fgcw1bgr",
+ "location": "EqSe2",
+ "connectionName": "ansible-test-2",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_status/directconnect.DescribeConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_status/directconnect.DescribeConnections_1.json
new file mode 100644
index 000000000..f43f1e410
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/connection_status/directconnect.DescribeConnections_1.json
@@ -0,0 +1,27 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b85f71db-5b55-11e7-a718-2b51b84a4672",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:28:58 GMT",
+ "content-length": "214"
+ },
+ "RequestId": "b85f71db-5b55-11e7-a718-2b51b84a4672",
+ "HTTPStatusCode": 200
+ },
+ "connections": [
+ {
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgq9rgot",
+ "location": "EqSe2",
+ "connectionName": "ansible-test-connection",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/create_and_delete/directconnect.CreateConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/create_and_delete/directconnect.CreateConnection_1.json
new file mode 100644
index 000000000..1c8e4d3f7
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/create_and_delete/directconnect.CreateConnection_1.json
@@ -0,0 +1,23 @@
+{
+ "status_code": 200,
+ "data": {
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgbw50lg",
+ "location": "EqSe2",
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "dfb3ce3c-5b55-11e7-8bdd-db27cb754a2c",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:30:03 GMT",
+ "content-length": "187"
+ },
+ "RequestId": "dfb3ce3c-5b55-11e7-8bdd-db27cb754a2c",
+ "HTTPStatusCode": 200
+ },
+ "connectionName": "ansible-test-2",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/create_and_delete/directconnect.DeleteConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/create_and_delete/directconnect.DeleteConnection_1.json
new file mode 100644
index 000000000..70db4593d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_connection/create_and_delete/directconnect.DeleteConnection_1.json
@@ -0,0 +1,23 @@
+{
+ "status_code": 200,
+ "data": {
+ "connectionState": "deleted",
+ "connectionId": "dxcon-fgbw50lg",
+ "location": "EqSe2",
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "dfccd47d-5b55-11e7-8bdd-db27cb754a2c",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:30:03 GMT",
+ "content-length": "185"
+ },
+ "RequestId": "dfccd47d-5b55-11e7-8bdd-db27cb754a2c",
+ "HTTPStatusCode": 200
+ },
+ "connectionName": "ansible-test-2",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ }
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/__init__.py b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/__init__.py
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DeleteConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DeleteConnection_1.json
new file mode 100644
index 000000000..84285130f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DeleteConnection_1.json
@@ -0,0 +1,23 @@
+{
+ "data": {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "bf2372eb-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "216",
+ "date": "Mon, 24 Jul 2017 19:39:02 GMT"
+ },
+ "RequestId": "bf2372eb-70a7-11e7-83ab-ef16f9ac5159"
+ },
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "connectionState": "deleted",
+ "connectionId": "dxcon-ffx41o23"
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DeleteLag_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DeleteLag_1.json
new file mode 100644
index 000000000..c47f2904f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DeleteLag_1.json
@@ -0,0 +1,27 @@
+{
+ "data": {
+ "lagState": "deleted",
+ "location": "EqSe2",
+ "region": "us-west-2",
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "bf437e0e-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "266",
+ "date": "Mon, 24 Jul 2017 19:39:02 GMT"
+ },
+ "RequestId": "bf437e0e-70a7-11e7-83ab-ef16f9ac5159"
+ },
+ "lagId": "dxlag-fgkk4dja",
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [],
+ "connectionsBandwidth": "1Gbps",
+ "minimumLinks": 0,
+ "ownerAccount": "123456789012",
+ "numberOfConnections": 0,
+ "lagName": "ansible_lag_1"
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeLags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeLags_1.json
new file mode 100644
index 000000000..7d2f25d2a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeLags_1.json
@@ -0,0 +1,42 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgkk4dja",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-fgkk4dja"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "bd224baf-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "520",
+ "date": "Mon, 24 Jul 2017 19:38:59 GMT"
+ },
+ "RequestId": "bd224baf-70a7-11e7-83ab-ef16f9ac5159"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeLags_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeLags_2.json
new file mode 100644
index 000000000..ac115de75
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeLags_2.json
@@ -0,0 +1,42 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgkk4dja",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-fgkk4dja"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "bda84490-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "520",
+ "date": "Mon, 24 Jul 2017 19:38:59 GMT"
+ },
+ "RequestId": "bda84490-70a7-11e7-83ab-ef16f9ac5159"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeLags_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeLags_3.json
new file mode 100644
index 000000000..b3aa0ee22
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeLags_3.json
@@ -0,0 +1,42 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgkk4dja",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-fgkk4dja"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "be79c564-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "520",
+ "date": "Mon, 24 Jul 2017 19:39:01 GMT"
+ },
+ "RequestId": "be79c564-70a7-11e7-83ab-ef16f9ac5159"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeVirtualInterfaces_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeVirtualInterfaces_1.json
new file mode 100644
index 000000000..19a8af389
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DescribeVirtualInterfaces_1.json
@@ -0,0 +1,17 @@
+{
+ "data": {
+ "virtualInterfaces": [],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "be66d9a3-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "24",
+ "date": "Mon, 24 Jul 2017 19:39:00 GMT"
+ },
+ "RequestId": "be66d9a3-70a7-11e7-83ab-ef16f9ac5159"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DisassociateConnectionFromLag_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DisassociateConnectionFromLag_1.json
new file mode 100644
index 000000000..329982067
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.DisassociateConnectionFromLag_1.json
@@ -0,0 +1,23 @@
+{
+ "data": {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "bf0c687a-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "218",
+ "date": "Mon, 24 Jul 2017 19:39:01 GMT"
+ },
+ "RequestId": "bf0c687a-70a7-11e7-83ab-ef16f9ac5159"
+ },
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.UpdateLag_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.UpdateLag_1.json
new file mode 100644
index 000000000..27a8c6765
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections/directconnect.UpdateLag_1.json
@@ -0,0 +1,38 @@
+{
+ "data": {
+ "lagState": "pending",
+ "location": "EqSe2",
+ "region": "us-west-2",
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "bef64869-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "509",
+ "date": "Mon, 24 Jul 2017 19:39:01 GMT"
+ },
+ "RequestId": "bef64869-70a7-11e7-83ab-ef16f9ac5159"
+ },
+ "lagId": "dxlag-fgkk4dja",
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgkk4dja",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ }
+ ],
+ "connectionsBandwidth": "1Gbps",
+ "minimumLinks": 0,
+ "ownerAccount": "123456789012",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_1"
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeLags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeLags_1.json
new file mode 100644
index 000000000..f4849aebe
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeLags_1.json
@@ -0,0 +1,42 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgkk4dja",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-fgkk4dja"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "bc1aedd9-70a7-11e7-a2a8-21d8bda1f5ec",
+ "content-length": "520",
+ "date": "Mon, 24 Jul 2017 19:38:57 GMT"
+ },
+ "RequestId": "bc1aedd9-70a7-11e7-a2a8-21d8bda1f5ec"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeLags_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeLags_2.json
new file mode 100644
index 000000000..7787c881d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeLags_2.json
@@ -0,0 +1,42 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgkk4dja",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-fgkk4dja"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "bc4902ba-70a7-11e7-a2a8-21d8bda1f5ec",
+ "content-length": "520",
+ "date": "Mon, 24 Jul 2017 19:38:57 GMT"
+ },
+ "RequestId": "bc4902ba-70a7-11e7-a2a8-21d8bda1f5ec"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeLags_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeLags_3.json
new file mode 100644
index 000000000..c11f584b3
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeLags_3.json
@@ -0,0 +1,42 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgkk4dja",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-fgkk4dja"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "bc7ff13c-70a7-11e7-a2a8-21d8bda1f5ec",
+ "content-length": "520",
+ "date": "Mon, 24 Jul 2017 19:38:57 GMT"
+ },
+ "RequestId": "bc7ff13c-70a7-11e7-a2a8-21d8bda1f5ec"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeVirtualInterfaces_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeVirtualInterfaces_1.json
new file mode 100644
index 000000000..5092b8726
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_lag_with_connections_without_force_delete/directconnect.DescribeVirtualInterfaces_1.json
@@ -0,0 +1,17 @@
+{
+ "data": {
+ "virtualInterfaces": [],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "bc6dc8cb-70a7-11e7-a2a8-21d8bda1f5ec",
+ "content-length": "24",
+ "date": "Mon, 24 Jul 2017 19:38:57 GMT"
+ },
+ "RequestId": "bc6dc8cb-70a7-11e7-a2a8-21d8bda1f5ec"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_nonexistent_lag/directconnect.DescribeLags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_nonexistent_lag/directconnect.DescribeLags_1.json
new file mode 100644
index 000000000..6bc71aa73
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/delete_nonexistent_lag/directconnect.DescribeLags_1.json
@@ -0,0 +1,21 @@
+{
+ "data": {
+ "Error": {
+ "Code": "DirectConnectClientException",
+ "Message": "Could not find Lag with ID dxlag-XXXXXXXX"
+ },
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 400,
+ "HTTPHeaders": {
+ "connection": "close",
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "bb67ca78-70a7-11e7-a2a8-21d8bda1f5ec",
+ "content-length": "95",
+ "date": "Mon, 24 Jul 2017 19:38:56 GMT"
+ },
+ "RequestId": "bb67ca78-70a7-11e7-a2a8-21d8bda1f5ec"
+ }
+ },
+ "status_code": 400
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_changed_true/directconnect.DescribeLags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_changed_true/directconnect.DescribeLags_1.json
new file mode 100644
index 000000000..45c4c22bd
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_changed_true/directconnect.DescribeLags_1.json
@@ -0,0 +1,42 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgkk4dja",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-fgkk4dja"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "b8662323-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "520",
+ "date": "Mon, 24 Jul 2017 19:38:50 GMT"
+ },
+ "RequestId": "b8662323-70a7-11e7-83ab-ef16f9ac5159"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_changed_true_no/directconnect.DescribeLags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_changed_true_no/directconnect.DescribeLags_1.json
new file mode 100644
index 000000000..64bb86548
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_changed_true_no/directconnect.DescribeLags_1.json
@@ -0,0 +1,42 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgkk4dja",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-fgkk4dja"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "b91b4255-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "520",
+ "date": "Mon, 24 Jul 2017 19:38:52 GMT"
+ },
+ "RequestId": "b91b4255-70a7-11e7-83ab-ef16f9ac5159"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_exists/directconnect.DescribeLags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_exists/directconnect.DescribeLags_1.json
new file mode 100644
index 000000000..fb98ea9a4
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_exists/directconnect.DescribeLags_1.json
@@ -0,0 +1,42 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgkk4dja",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-fgkk4dja"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "b5e4a858-70a7-11e7-a69f-95e467ba41d7",
+ "content-length": "520",
+ "date": "Mon, 24 Jul 2017 19:38:46 GMT"
+ },
+ "RequestId": "b5e4a858-70a7-11e7-a69f-95e467ba41d7"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_exists_using_name/directconnect.DescribeLags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_exists_using_name/directconnect.DescribeLags_1.json
new file mode 100644
index 000000000..1e0021cd0
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_exists_using_name/directconnect.DescribeLags_1.json
@@ -0,0 +1,157 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-9uinh2jjnuu9",
+ "connections": [],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 0,
+ "lagName": "sherteltestlag",
+ "lagId": "dxlag-fgr4lfqt"
+ },
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgkk4dja",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-fgkk4dja"
+ },
+ {
+ "awsDevice": "EqSe2-2bii1jufy4y7p",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgytkicv",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgytkicv",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgsxammv"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_2",
+ "lagId": "dxlag-fgytkicv"
+ },
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [],
+ "lagState": "deleted",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 0,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-fgee5gk5"
+ },
+ {
+ "awsDevice": "EqSe2-2bii1jufy4y7p",
+ "connections": [],
+ "lagState": "deleted",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 0,
+ "lagName": "ansible_lag_2_update",
+ "lagId": "dxlag-fg0hj0n3"
+ },
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [],
+ "lagState": "deleted",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 0,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-ffg1zmo4"
+ },
+ {
+ "awsDevice": "EqSe2-2oqu43nde4cs1",
+ "connections": [],
+ "lagState": "deleted",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 0,
+ "lagName": "ansible_lag_2_update",
+ "lagId": "dxlag-ffzm4jk8"
+ },
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [],
+ "lagState": "deleted",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 0,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-ffuid1ql"
+ },
+ {
+ "awsDevice": "EqSe2-2oqu43nde4cs1",
+ "connections": [],
+ "lagState": "deleted",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 0,
+ "lagName": "ansible_lag_2_update",
+ "lagId": "dxlag-ffpq2qa7"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "b6a0a55a-70a7-11e7-a69f-95e467ba41d7",
+ "content-length": "2920",
+ "date": "Mon, 24 Jul 2017 19:38:49 GMT"
+ },
+ "RequestId": "b6a0a55a-70a7-11e7-a69f-95e467ba41d7"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_status/directconnect.DescribeLags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_status/directconnect.DescribeLags_1.json
new file mode 100644
index 000000000..e207d01c0
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/lag_status/directconnect.DescribeLags_1.json
@@ -0,0 +1,42 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-1bwfvazist2k0",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgkk4dja",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgkk4dja",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-ffx41o23"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_1",
+ "lagId": "dxlag-fgkk4dja"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "b4aa057e-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "520",
+ "date": "Mon, 24 Jul 2017 19:38:44 GMT"
+ },
+ "RequestId": "b4aa057e-70a7-11e7-83ab-ef16f9ac5159"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/nonexistent_lag_does_not_exist/directconnect.DescribeLags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/nonexistent_lag_does_not_exist/directconnect.DescribeLags_1.json
new file mode 100644
index 000000000..0b394f15e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/nonexistent_lag_does_not_exist/directconnect.DescribeLags_1.json
@@ -0,0 +1,21 @@
+{
+ "data": {
+ "Error": {
+ "Code": "DirectConnectClientException",
+ "Message": "Could not find Lag with ID dxlag-XXXXXXXX"
+ },
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 400,
+ "HTTPHeaders": {
+ "connection": "close",
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "b7f55ff2-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "95",
+ "date": "Mon, 24 Jul 2017 19:38:50 GMT"
+ },
+ "RequestId": "b7f55ff2-70a7-11e7-83ab-ef16f9ac5159"
+ }
+ },
+ "status_code": 400
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/nonexistent_lag_status/directconnect.DescribeLags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/nonexistent_lag_status/directconnect.DescribeLags_1.json
new file mode 100644
index 000000000..e1464bd7c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/nonexistent_lag_status/directconnect.DescribeLags_1.json
@@ -0,0 +1,21 @@
+{
+ "data": {
+ "Error": {
+ "Code": "DirectConnectClientException",
+ "Message": "Lag ID doesntexist has an invalid format."
+ },
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 400,
+ "HTTPHeaders": {
+ "connection": "close",
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "b3c76dc0-70a7-11e7-a2a8-21d8bda1f5ec",
+ "content-length": "95",
+ "date": "Mon, 24 Jul 2017 19:38:42 GMT"
+ },
+ "RequestId": "b3c76dc0-70a7-11e7-a2a8-21d8bda1f5ec"
+ }
+ },
+ "status_code": 400
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/update_lag/directconnect.DescribeLags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/update_lag/directconnect.DescribeLags_1.json
new file mode 100644
index 000000000..6c5386363
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/update_lag/directconnect.DescribeLags_1.json
@@ -0,0 +1,42 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-2bii1jufy4y7p",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgytkicv",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgytkicv",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgsxammv"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_2",
+ "lagId": "dxlag-fgytkicv"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "b9cc69e9-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "520",
+ "date": "Mon, 24 Jul 2017 19:38:53 GMT"
+ },
+ "RequestId": "b9cc69e9-70a7-11e7-83ab-ef16f9ac5159"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/update_lag/directconnect.DescribeLags_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/update_lag/directconnect.DescribeLags_2.json
new file mode 100644
index 000000000..fa36b62f6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/update_lag/directconnect.DescribeLags_2.json
@@ -0,0 +1,42 @@
+{
+ "data": {
+ "lags": [
+ {
+ "awsDevice": "EqSe2-2bii1jufy4y7p",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgytkicv",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgytkicv",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgsxammv"
+ }
+ ],
+ "lagState": "pending",
+ "minimumLinks": 0,
+ "location": "EqSe2",
+ "connectionsBandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_2_update",
+ "lagId": "dxlag-fgytkicv"
+ }
+ ],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "ba91197b-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "527",
+ "date": "Mon, 24 Jul 2017 19:38:54 GMT"
+ },
+ "RequestId": "ba91197b-70a7-11e7-83ab-ef16f9ac5159"
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/update_lag/directconnect.UpdateLag_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/update_lag/directconnect.UpdateLag_1.json
new file mode 100644
index 000000000..3621ea0a2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_link_aggregation_group/update_lag/directconnect.UpdateLag_1.json
@@ -0,0 +1,38 @@
+{
+ "data": {
+ "lagState": "pending",
+ "location": "EqSe2",
+ "region": "us-west-2",
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPStatusCode": 200,
+ "HTTPHeaders": {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amzn-requestid": "ba76658a-70a7-11e7-83ab-ef16f9ac5159",
+ "content-length": "516",
+ "date": "Mon, 24 Jul 2017 19:38:54 GMT"
+ },
+ "RequestId": "ba76658a-70a7-11e7-83ab-ef16f9ac5159"
+ },
+ "lagId": "dxlag-fgytkicv",
+ "awsDevice": "EqSe2-2bii1jufy4y7p",
+ "connections": [
+ {
+ "bandwidth": "1Gbps",
+ "connectionName": "Requested Connection 1 for Lag dxlag-fgytkicv",
+ "location": "EqSe2",
+ "ownerAccount": "123456789012",
+ "lagId": "dxlag-fgytkicv",
+ "region": "us-west-2",
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgsxammv"
+ }
+ ],
+ "connectionsBandwidth": "1Gbps",
+ "minimumLinks": 0,
+ "ownerAccount": "123456789012",
+ "numberOfConnections": 1,
+ "lagName": "ansible_lag_2_update"
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.CreatePrivateVirtualInterface_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.CreatePrivateVirtualInterface_1.json
new file mode 100644
index 000000000..8d7fc3faa
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.CreatePrivateVirtualInterface_1.json
@@ -0,0 +1,52 @@
+{
+ "status_code": 200,
+ "data": {
+ "ownerAccount": "123456789012",
+ "virtualInterfaceId": "dxvif-aaaaaaaa",
+ "location": "EqSe2",
+ "connectionId": "dxcon-aaaaaaaa",
+ "virtualInterfaceType": "private",
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 2,
+ "asn": 123,
+ "amazonSideAsn": 64512,
+ "authKey": "aaaabbbb",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualInterfaceState": "down",
+ "customerRouterConfig": "",
+ "mtu": 1500,
+ "jumboFrameCapable": true,
+ "virtualGatewayId": "",
+ "directConnectGatewayId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
+ "routeFilterPrefixes": [],
+ "bgpPeers": [
+ {
+ "bgpPeerId": "dxpeer-aaaaaaa",
+ "asn": 123,
+ "authKey": "aaaabbbb",
+ "addressFamily": "ipv4",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "bgpPeerState": "available",
+ "bgpStatus": "down",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa"
+ }
+ ],
+ "region": "us-west-2",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa",
+ "tags": [],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ }
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.DescribeVirtualInterfaces_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.DescribeVirtualInterfaces_1.json
new file mode 100644
index 000000000..de3e54bc8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.DescribeVirtualInterfaces_1.json
@@ -0,0 +1,18 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "virtualInterfaces": [
+ ]
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.DescribeVirtualInterfaces_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.DescribeVirtualInterfaces_2.json
new file mode 100644
index 000000000..430bd84c9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.DescribeVirtualInterfaces_2.json
@@ -0,0 +1,56 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "virtualInterfaces": [
+ {
+ "ownerAccount": "123456789012",
+ "virtualInterfaceId": "dxvif-aaaaaaaa",
+ "location": "EqSe2",
+ "connectionId": "dxcon-aaaaaaaa",
+ "virtualInterfaceType": "private",
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 2,
+ "asn": 123,
+ "amazonSideAsn": 64512,
+ "authKey": "aaaabbbb",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualInterfaceState": "down",
+ "customerRouterConfig": "",
+ "mtu": 1500,
+ "jumboFrameCapable": true,
+ "virtualGatewayId": "",
+ "directConnectGatewayId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
+ "routeFilterPrefixes": [],
+ "bgpPeers": [
+ {
+ "bgpPeerId": "dxpeer-aaaaaaa",
+ "asn": 123,
+ "authKey": "aaaabbbb",
+ "addressFamily": "ipv4",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "bgpPeerState": "available",
+ "bgpStatus": "down",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa"
+ }
+ ],
+ "region": "us-west-2",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa",
+ "tags": []
+ }
+ ]
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.DescribeVirtualInterfaces_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.DescribeVirtualInterfaces_3.json
new file mode 100644
index 000000000..430bd84c9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_private_vi/directconnect.DescribeVirtualInterfaces_3.json
@@ -0,0 +1,56 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "virtualInterfaces": [
+ {
+ "ownerAccount": "123456789012",
+ "virtualInterfaceId": "dxvif-aaaaaaaa",
+ "location": "EqSe2",
+ "connectionId": "dxcon-aaaaaaaa",
+ "virtualInterfaceType": "private",
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 2,
+ "asn": 123,
+ "amazonSideAsn": 64512,
+ "authKey": "aaaabbbb",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualInterfaceState": "down",
+ "customerRouterConfig": "",
+ "mtu": 1500,
+ "jumboFrameCapable": true,
+ "virtualGatewayId": "",
+ "directConnectGatewayId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
+ "routeFilterPrefixes": [],
+ "bgpPeers": [
+ {
+ "bgpPeerId": "dxpeer-aaaaaaa",
+ "asn": 123,
+ "authKey": "aaaabbbb",
+ "addressFamily": "ipv4",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "bgpPeerState": "available",
+ "bgpStatus": "down",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa"
+ }
+ ],
+ "region": "us-west-2",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa",
+ "tags": []
+ }
+ ]
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.CreatePublicVirtualInterface_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.CreatePublicVirtualInterface_1.json
new file mode 100644
index 000000000..8d7fc3faa
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.CreatePublicVirtualInterface_1.json
@@ -0,0 +1,52 @@
+{
+ "status_code": 200,
+ "data": {
+ "ownerAccount": "123456789012",
+ "virtualInterfaceId": "dxvif-aaaaaaaa",
+ "location": "EqSe2",
+ "connectionId": "dxcon-aaaaaaaa",
+ "virtualInterfaceType": "private",
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 2,
+ "asn": 123,
+ "amazonSideAsn": 64512,
+ "authKey": "aaaabbbb",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualInterfaceState": "down",
+ "customerRouterConfig": "",
+ "mtu": 1500,
+ "jumboFrameCapable": true,
+ "virtualGatewayId": "",
+ "directConnectGatewayId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
+ "routeFilterPrefixes": [],
+ "bgpPeers": [
+ {
+ "bgpPeerId": "dxpeer-aaaaaaa",
+ "asn": 123,
+ "authKey": "aaaabbbb",
+ "addressFamily": "ipv4",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "bgpPeerState": "available",
+ "bgpStatus": "down",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa"
+ }
+ ],
+ "region": "us-west-2",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa",
+ "tags": [],
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ }
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.DescribeVirtualInterfaces_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.DescribeVirtualInterfaces_1.json
new file mode 100644
index 000000000..de3e54bc8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.DescribeVirtualInterfaces_1.json
@@ -0,0 +1,18 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "virtualInterfaces": [
+ ]
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.DescribeVirtualInterfaces_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.DescribeVirtualInterfaces_2.json
new file mode 100644
index 000000000..430bd84c9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.DescribeVirtualInterfaces_2.json
@@ -0,0 +1,56 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "virtualInterfaces": [
+ {
+ "ownerAccount": "123456789012",
+ "virtualInterfaceId": "dxvif-aaaaaaaa",
+ "location": "EqSe2",
+ "connectionId": "dxcon-aaaaaaaa",
+ "virtualInterfaceType": "private",
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 2,
+ "asn": 123,
+ "amazonSideAsn": 64512,
+ "authKey": "aaaabbbb",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualInterfaceState": "down",
+ "customerRouterConfig": "",
+ "mtu": 1500,
+ "jumboFrameCapable": true,
+ "virtualGatewayId": "",
+ "directConnectGatewayId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
+ "routeFilterPrefixes": [],
+ "bgpPeers": [
+ {
+ "bgpPeerId": "dxpeer-aaaaaaa",
+ "asn": 123,
+ "authKey": "aaaabbbb",
+ "addressFamily": "ipv4",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "bgpPeerState": "available",
+ "bgpStatus": "down",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa"
+ }
+ ],
+ "region": "us-west-2",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa",
+ "tags": []
+ }
+ ]
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.DescribeVirtualInterfaces_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.DescribeVirtualInterfaces_3.json
new file mode 100644
index 000000000..430bd84c9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/create_public_vi/directconnect.DescribeVirtualInterfaces_3.json
@@ -0,0 +1,56 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "virtualInterfaces": [
+ {
+ "ownerAccount": "123456789012",
+ "virtualInterfaceId": "dxvif-aaaaaaaa",
+ "location": "EqSe2",
+ "connectionId": "dxcon-aaaaaaaa",
+ "virtualInterfaceType": "private",
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 2,
+ "asn": 123,
+ "amazonSideAsn": 64512,
+ "authKey": "aaaabbbb",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualInterfaceState": "down",
+ "customerRouterConfig": "",
+ "mtu": 1500,
+ "jumboFrameCapable": true,
+ "virtualGatewayId": "",
+ "directConnectGatewayId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
+ "routeFilterPrefixes": [],
+ "bgpPeers": [
+ {
+ "bgpPeerId": "dxpeer-aaaaaaa",
+ "asn": 123,
+ "authKey": "aaaabbbb",
+ "addressFamily": "ipv4",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "bgpPeerState": "available",
+ "bgpStatus": "down",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa"
+ }
+ ],
+ "region": "us-west-2",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa",
+ "tags": []
+ }
+ ]
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/delete_vi/directconnect.DeleteVirtualInterface_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/delete_vi/directconnect.DeleteVirtualInterface_1.json
new file mode 100644
index 000000000..226e0df05
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/delete_vi/directconnect.DeleteVirtualInterface_1.json
@@ -0,0 +1,16 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ }
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/delete_vi/directconnect.DescribeVirtualInterfaces_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/delete_vi/directconnect.DescribeVirtualInterfaces_1.json
new file mode 100644
index 000000000..430bd84c9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/delete_vi/directconnect.DescribeVirtualInterfaces_1.json
@@ -0,0 +1,56 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "virtualInterfaces": [
+ {
+ "ownerAccount": "123456789012",
+ "virtualInterfaceId": "dxvif-aaaaaaaa",
+ "location": "EqSe2",
+ "connectionId": "dxcon-aaaaaaaa",
+ "virtualInterfaceType": "private",
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 2,
+ "asn": 123,
+ "amazonSideAsn": 64512,
+ "authKey": "aaaabbbb",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualInterfaceState": "down",
+ "customerRouterConfig": "",
+ "mtu": 1500,
+ "jumboFrameCapable": true,
+ "virtualGatewayId": "",
+ "directConnectGatewayId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
+ "routeFilterPrefixes": [],
+ "bgpPeers": [
+ {
+ "bgpPeerId": "dxpeer-aaaaaaa",
+ "asn": 123,
+ "authKey": "aaaabbbb",
+ "addressFamily": "ipv4",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "bgpPeerState": "available",
+ "bgpStatus": "down",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa"
+ }
+ ],
+ "region": "us-west-2",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa",
+ "tags": []
+ }
+ ]
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_by_connection_id/directconnect.DescribeVirtualInterfaces_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_by_connection_id/directconnect.DescribeVirtualInterfaces_1.json
new file mode 100644
index 000000000..430bd84c9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_by_connection_id/directconnect.DescribeVirtualInterfaces_1.json
@@ -0,0 +1,56 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "virtualInterfaces": [
+ {
+ "ownerAccount": "123456789012",
+ "virtualInterfaceId": "dxvif-aaaaaaaa",
+ "location": "EqSe2",
+ "connectionId": "dxcon-aaaaaaaa",
+ "virtualInterfaceType": "private",
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 2,
+ "asn": 123,
+ "amazonSideAsn": 64512,
+ "authKey": "aaaabbbb",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualInterfaceState": "down",
+ "customerRouterConfig": "",
+ "mtu": 1500,
+ "jumboFrameCapable": true,
+ "virtualGatewayId": "",
+ "directConnectGatewayId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
+ "routeFilterPrefixes": [],
+ "bgpPeers": [
+ {
+ "bgpPeerId": "dxpeer-aaaaaaa",
+ "asn": 123,
+ "authKey": "aaaabbbb",
+ "addressFamily": "ipv4",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "bgpPeerState": "available",
+ "bgpStatus": "down",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa"
+ }
+ ],
+ "region": "us-west-2",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa",
+ "tags": []
+ }
+ ]
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_by_name/directconnect.DescribeVirtualInterfaces_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_by_name/directconnect.DescribeVirtualInterfaces_1.json
new file mode 100644
index 000000000..430bd84c9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_by_name/directconnect.DescribeVirtualInterfaces_1.json
@@ -0,0 +1,56 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "virtualInterfaces": [
+ {
+ "ownerAccount": "123456789012",
+ "virtualInterfaceId": "dxvif-aaaaaaaa",
+ "location": "EqSe2",
+ "connectionId": "dxcon-aaaaaaaa",
+ "virtualInterfaceType": "private",
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 2,
+ "asn": 123,
+ "amazonSideAsn": 64512,
+ "authKey": "aaaabbbb",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualInterfaceState": "down",
+ "customerRouterConfig": "",
+ "mtu": 1500,
+ "jumboFrameCapable": true,
+ "virtualGatewayId": "",
+ "directConnectGatewayId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
+ "routeFilterPrefixes": [],
+ "bgpPeers": [
+ {
+ "bgpPeerId": "dxpeer-aaaaaaa",
+ "asn": 123,
+ "authKey": "aaaabbbb",
+ "addressFamily": "ipv4",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "bgpPeerState": "available",
+ "bgpStatus": "down",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa"
+ }
+ ],
+ "region": "us-west-2",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa",
+ "tags": []
+ }
+ ]
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_by_vi_id/directconnect.DescribeVirtualInterfaces_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_by_vi_id/directconnect.DescribeVirtualInterfaces_1.json
new file mode 100644
index 000000000..430bd84c9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_by_vi_id/directconnect.DescribeVirtualInterfaces_1.json
@@ -0,0 +1,56 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "virtualInterfaces": [
+ {
+ "ownerAccount": "123456789012",
+ "virtualInterfaceId": "dxvif-aaaaaaaa",
+ "location": "EqSe2",
+ "connectionId": "dxcon-aaaaaaaa",
+ "virtualInterfaceType": "private",
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 2,
+ "asn": 123,
+ "amazonSideAsn": 64512,
+ "authKey": "aaaabbbb",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualInterfaceState": "down",
+ "customerRouterConfig": "",
+ "mtu": 1500,
+ "jumboFrameCapable": true,
+ "virtualGatewayId": "",
+ "directConnectGatewayId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
+ "routeFilterPrefixes": [],
+ "bgpPeers": [
+ {
+ "bgpPeerId": "dxpeer-aaaaaaa",
+ "asn": 123,
+ "authKey": "aaaabbbb",
+ "addressFamily": "ipv4",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "bgpPeerState": "available",
+ "bgpStatus": "down",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa"
+ }
+ ],
+ "region": "us-west-2",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa",
+ "tags": []
+ }
+ ]
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_returns_missing_for_vi_id/directconnect.DescribeVirtualInterfaces_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_returns_missing_for_vi_id/directconnect.DescribeVirtualInterfaces_1.json
new file mode 100644
index 000000000..de3e54bc8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_returns_missing_for_vi_id/directconnect.DescribeVirtualInterfaces_1.json
@@ -0,0 +1,18 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "virtualInterfaces": [
+ ]
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_returns_multiple/directconnect.DescribeVirtualInterfaces_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_returns_multiple/directconnect.DescribeVirtualInterfaces_1.json
new file mode 100644
index 000000000..ab965cae3
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/directconnect_virtual_interface/find_unique_vi_returns_multiple/directconnect.DescribeVirtualInterfaces_1.json
@@ -0,0 +1,94 @@
+{
+ "status_code": 200,
+ "data": {
+ "ResponseMetadata": {
+ "RetryAttempts": 0,
+ "HTTPHeaders": {
+ "x-amzn-requestid": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "content-type": "application/x-amz-json-1.1",
+ "date": "Tue, 27 Jun 2017 16:29:00 GMT",
+ "content-length": "18"
+ },
+ "RequestId": "b9e352dd-5b55-11e7-9750-d97c605bdcae",
+ "HTTPStatusCode": 200
+ },
+ "virtualInterfaces": [
+ {
+ "ownerAccount": "123456789012",
+ "virtualInterfaceId": "dxvif-aaaaaaaa",
+ "location": "EqSe2",
+ "connectionId": "dxcon-aaaaaaaa",
+ "virtualInterfaceType": "private",
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 2,
+ "asn": 123,
+ "amazonSideAsn": 64512,
+ "authKey": "aaaabbbb",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualInterfaceState": "down",
+ "customerRouterConfig": "",
+ "mtu": 1500,
+ "jumboFrameCapable": true,
+ "virtualGatewayId": "",
+ "directConnectGatewayId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
+ "routeFilterPrefixes": [],
+ "bgpPeers": [
+ {
+ "bgpPeerId": "dxpeer-aaaaaaa",
+ "asn": 123,
+ "authKey": "aaaabbbb",
+ "addressFamily": "ipv4",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "bgpPeerState": "available",
+ "bgpStatus": "down",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa"
+ }
+ ],
+ "region": "us-west-2",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa",
+ "tags": []
+ },
+ {
+ "ownerAccount": "123456789012",
+ "virtualInterfaceId": "dxvif-bbbbbbbb",
+ "location": "EqSe2",
+ "connectionId": "dxcon-aaaaaaaa",
+ "virtualInterfaceType": "private",
+ "virtualInterfaceName": "bbbbbbbb",
+ "vlan": 2,
+ "asn": 123,
+ "amazonSideAsn": 64512,
+ "authKey": "aaaabbbb",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualInterfaceState": "down",
+ "customerRouterConfig": "",
+ "mtu": 1500,
+ "jumboFrameCapable": true,
+ "virtualGatewayId": "",
+ "directConnectGatewayId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
+ "routeFilterPrefixes": [],
+ "bgpPeers": [
+ {
+ "bgpPeerId": "dxpeer-aaaaaaa",
+ "asn": 123,
+ "authKey": "aaaabbbb",
+ "addressFamily": "ipv4",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "bgpPeerState": "available",
+ "bgpStatus": "down",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa"
+ }
+ ],
+ "region": "us-west-2",
+ "awsDeviceV2": "EqSe2-aaaaaaaaaaaa",
+ "tags": []
+ }
+ ]
+ }
+}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/__init__.py b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/__init__.py
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.CreateVpnConnectionRoute_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.CreateVpnConnectionRoute_1.json
new file mode 100644
index 000000000..2b8018f25
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.CreateVpnConnectionRoute_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "22cf9d88-b0ca-4a6c-8bfa-a2969541f25b",
+ "HTTPHeaders": {
+ "content-length": "249",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:18:47 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.CreateVpnConnectionRoute_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.CreateVpnConnectionRoute_2.json
new file mode 100644
index 000000000..540cb22d8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.CreateVpnConnectionRoute_2.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ee7493f2-1db0-4edb-a2c8-66dc31c41df8",
+ "HTTPHeaders": {
+ "content-length": "249",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:18:47 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.CreateVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.CreateVpnConnection_1.json
new file mode 100644
index 000000000..16510d83d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.CreateVpnConnection_1.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-9b06e28e",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "b0fe4793-77a1-4c92-978c-975c7b963c59",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5234",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:15:07 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DeleteVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DeleteVpnConnection_1.json
new file mode 100644
index 000000000..30d8ac08e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DeleteVpnConnection_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "92162d1f-1563-4b14-8fc5-0821c50687cb",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:18:48 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..97f64fd25
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,179 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Ansible-Test",
+ "Value": "VPN"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "One",
+ "Value": "one"
+ },
+ {
+ "Key": "Two",
+ "Value": "two"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "9843e24b-c094-451f-9be3-3f859dc39385",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5887",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:15:06 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_10.json
new file mode 100644
index 000000000..d67ec8ac0
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_10.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "d5d76451-0539-4de2-a197-dac87c4eb91b",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:17:13 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_11.json
new file mode 100644
index 000000000..c61544026
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_11.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 23,
+ "minute": 17,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "7906c368-77fc-4afc-9ee4-c822dab4864e",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:17:29 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_12.json
new file mode 100644
index 000000000..95032ac3f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_12.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 23,
+ "minute": 17,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "b9e2ca97-e467-4dcc-a8fc-eff788e8ed49",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:17:44 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_13.json
new file mode 100644
index 000000000..76d21af3c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_13.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 23,
+ "minute": 17,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "249f8e82-8137-4b69-8002-969e880dbcd2",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:18:00 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_14.json
new file mode 100644
index 000000000..101822a5d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_14.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 23,
+ "minute": 17,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "554aea72-2359-4c35-956b-1cd55c3b1ded",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:18:15 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_15.json
new file mode 100644
index 000000000..a4fd2ecce
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_15.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 23,
+ "minute": 17,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "a9203775-14d5-4020-aa61-f6709cd6c455",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:18:32 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_16.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_16.json
new file mode 100644
index 000000000..6092812e2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_16.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 18,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 23,
+ "minute": 17,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c0621c72-8851-4c34-9d3d-7ae4bb5de50f",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:18:47 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_17.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_17.json
new file mode 100644
index 000000000..ef7b5d372
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_17.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 18,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 23,
+ "minute": 17,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "62aae2fc-e699-4a66-9bea-1b4b2b26ce35",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:18:47 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_18.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_18.json
new file mode 100644
index 000000000..afa295f3b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_18.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 18,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 23,
+ "minute": 17,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "0d20ed3c-a88e-42ba-87cc-f573d22b0a11",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:18:47 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_19.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_19.json
new file mode 100644
index 000000000..320101d50
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_19.json
@@ -0,0 +1,235 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [
+ {
+ "DestinationCidrBlock": "195.168.2.0/24",
+ "State": "available"
+ },
+ {
+ "DestinationCidrBlock": "196.168.2.0/24",
+ "State": "available"
+ }
+ ],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 2,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 18,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 2,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 23,
+ "minute": 17,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Ansible-Test",
+ "Value": "VPN"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "One",
+ "Value": "one"
+ },
+ {
+ "Key": "Two",
+ "Value": "two"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "d5ce628c-8270-4bb8-b0d9-c68b5834a9a8",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 13:18:48 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_2.json
new file mode 100644
index 000000000..12e36ed15
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_2.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "96ef43c9-1210-47a7-87f7-22c85a05eb2b",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:15:07 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_20.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_20.json
new file mode 100644
index 000000000..bca492648
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_20.json
@@ -0,0 +1,39 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "Routes": [
+ {
+ "DestinationCidrBlock": "196.168.2.0/24",
+ "State": "deleted"
+ },
+ {
+ "DestinationCidrBlock": "195.168.2.0/24",
+ "State": "deleted"
+ }
+ ],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "3a0d05ae-dbf7-4885-9b50-db2899bc30d5",
+ "HTTPHeaders": {
+ "content-length": "1066",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:18:48 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_3.json
new file mode 100644
index 000000000..b868885c8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_3.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c4fb8aa0-39ad-4333-9b45-25b48ce5a8cd",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:15:22 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_4.json
new file mode 100644
index 000000000..619c48662
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_4.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "b728a197-4790-4987-afe1-23ba2d2edf55",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:15:38 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_5.json
new file mode 100644
index 000000000..9ab3007c3
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_5.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "06bdac8b-d1ec-48d6-9af4-b2d5bf3fa2f4",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:15:55 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_6.json
new file mode 100644
index 000000000..193586bf4
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_6.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "baefffe5-7638-423e-84fc-fd21fa7fc6d1",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:16:10 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_7.json
new file mode 100644
index 000000000..b8569545e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_7.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "591329e5-78f5-4655-90c0-bf2b312b54af",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:16:26 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_8.json
new file mode 100644
index 000000000..66e29949a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_8.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "4e526b69-b5ea-4f05-a81b-831aa5825e18",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:16:42 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_9.json
new file mode 100644
index 000000000..35f035130
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_routes/ec2.DescribeVpnConnections_9.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9b06e28e",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9b06e28e\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.38</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.11.116.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.37</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>OwpaQwQaVjEM2nWZRYOhh3.TxgU5QyG1</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.130</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.13.135</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.129</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oIbjSO1e2SVBqRuW2PzKn.CgsAdSOMME</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.11.116.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.13.135",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 7,
+ "minute": 15,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "534f5ec5-2d5f-46ac-8216-453fc4cad713",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:16:58 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.CreateTags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.CreateTags_1.json
new file mode 100644
index 000000000..8af115a96
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.CreateTags_1.json
@@ -0,0 +1,17 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "9661b9b4-e18b-491b-8182-6548bfb680bb",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 13:12:21 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.CreateVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.CreateVpnConnection_1.json
new file mode 100644
index 000000000..e7cd28ab8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.CreateVpnConnection_1.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-9e06e28b",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "0c445bcd-4e37-4368-b45d-b4560bde459f",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5236",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:09:28 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DeleteVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DeleteVpnConnection_1.json
new file mode 100644
index 000000000..e190e232a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DeleteVpnConnection_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "8deda3c9-1498-44ef-a663-111e93657c7f",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:12:22 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..6d975f1ac
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,149 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "One",
+ "Value": "one"
+ },
+ {
+ "Key": "Two",
+ "Value": "two"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "e3c0cd84-d327-4a9e-8cac-0361a0afaaac",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "4836",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:09:28 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_10.json
new file mode 100644
index 000000000..6066eb507
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_10.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "3888db16-157b-404a-9fea-fe27e8bd556d",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:11:34 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_11.json
new file mode 100644
index 000000000..92d1f1e7f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_11.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 41,
+ "minute": 11,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ada7d223-32a6-4b60-81bb-63bca2cb2d56",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:11:50 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_12.json
new file mode 100644
index 000000000..e60cb21ce
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_12.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 41,
+ "minute": 11,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 11,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "def174a4-c5c2-4e5b-a5b6-1c2448e869f1",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:12:05 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_13.json
new file mode 100644
index 000000000..055f7de90
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_13.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 41,
+ "minute": 11,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 11,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "7c65999e-0e70-4aac-a720-b2216dbe70af",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:12:20 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_14.json
new file mode 100644
index 000000000..e199f3c0f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_14.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 41,
+ "minute": 11,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 11,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "1153ff47-87b6-40b1-bcdd-ae66c4d4a3ae",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:12:21 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_15.json
new file mode 100644
index 000000000..f67a91609
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_15.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 41,
+ "minute": 11,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 11,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c0748f40-1e33-4f0b-9417-77092bfc9090",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:12:21 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_16.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_16.json
new file mode 100644
index 000000000..8b6d7e2d3
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_16.json
@@ -0,0 +1,202 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "Tags": [
+ {
+ "Key": "Ansible-Test",
+ "Value": "VPN"
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 41,
+ "minute": 11,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 11,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "State": "available"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "One",
+ "Value": "one"
+ },
+ {
+ "Key": "Two",
+ "Value": "two"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "16aa6a4d-0fca-4035-b607-c223fc424f81",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 13:12:22 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_17.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_17.json
new file mode 100644
index 000000000..78a05ba86
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_17.json
@@ -0,0 +1,36 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Ansible-Test",
+ "Value": "VPN"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "0d463b0f-87ea-4ada-a79a-f2bb0910c31c",
+ "HTTPHeaders": {
+ "content-length": "878",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:12:22 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_2.json
new file mode 100644
index 000000000..5c0dea83c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_2.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "bab29653-3411-49bb-af70-3d7b3284ca06",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:09:28 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_3.json
new file mode 100644
index 000000000..3b47382cf
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_3.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "d3732d64-34fb-40eb-bddb-c34e5e571921",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:09:44 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_4.json
new file mode 100644
index 000000000..701f05ae0
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_4.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "bd3ccd25-a6d6-44cf-9371-f01ca22d3f57",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:10:00 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_5.json
new file mode 100644
index 000000000..f25da7060
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_5.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "36906e17-078f-4c15-9e01-af3e233af2d3",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:10:15 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_6.json
new file mode 100644
index 000000000..f8aa9ec97
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_6.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "cab9bb1a-7afe-4c5f-b106-038b10cba813",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:10:31 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_7.json
new file mode 100644
index 000000000..1a8a4f86a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_7.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "938c6207-f582-4935-bef5-a9e3b01e18e1",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:10:47 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_8.json
new file mode 100644
index 000000000..e7f974dce
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_8.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "0bf3fb58-412a-447c-8cf7-af7185ec7f93",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:11:02 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_9.json
new file mode 100644
index 000000000..dbbefcbc5
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/add_tags/ec2.DescribeVpnConnections_9.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9e06e28b\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.212.254.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>b2DU0T9yhIWbDPukoG2NBtbPNrruDTRm</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.106</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.160.254.75</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.105</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>FOhYu_zZqXdic2Bvm_dYS03ONJCK.LfP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.212.254.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.160.254.75",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "b67d7024-2bad-4283-b440-5519b5541867",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:11:18 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.CreateVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.CreateVpnConnection_1.json
new file mode 100644
index 000000000..503422fc2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.CreateVpnConnection_1.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-9f06e28a",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "3239a34a-f3ed-4ba7-9d31-99265ceda2a9",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5237",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:47 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DeleteVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DeleteVpnConnection_1.json
new file mode 100644
index 000000000..46de4d6ab
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DeleteVpnConnection_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "bdcbf647-c1cc-4971-b133-3e1cd8ee36d5",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:09:24 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..835d53a9d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,137 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "One",
+ "Value": "one"
+ },
+ {
+ "Key": "Two",
+ "Value": "two"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "87d4db59-f8e6-4d4c-9800-7c0bda5ebee2",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "4397",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:46 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_10.json
new file mode 100644
index 000000000..7ee030b7d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_10.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 8,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "40e8326d-2f4b-4761-a2f9-011c989b0d11",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:08:53 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_11.json
new file mode 100644
index 000000000..9e4979b24
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_11.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 3,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 8,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5c5688ae-0f6e-4d88-adb6-d9f654c74b42",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:09:08 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_12.json
new file mode 100644
index 000000000..ba464dc25
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_12.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 3,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 8,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "7a5c5c59-d48a-467b-9414-097a93c923ae",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6124",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:09:23 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_13.json
new file mode 100644
index 000000000..57967a5e5
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_13.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 3,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 8,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "cb26ba43-cfc6-466b-8bde-5e63d58728e0",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6124",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:09:24 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_14.json
new file mode 100644
index 000000000..6f500939b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_14.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 3,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 8,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "1005f435-3e86-461f-a96c-a4f45c32c795",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6124",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:09:24 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_15.json
new file mode 100644
index 000000000..6f500939b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_15.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 3,
+ "minute": 9,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 8,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "1005f435-3e86-461f-a96c-a4f45c32c795",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6124",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:09:24 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_16.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_16.json
new file mode 100644
index 000000000..55bbb3116
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_16.json
@@ -0,0 +1,30 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "edac5b19-14be-4b2d-ab47-a2279de47d40",
+ "HTTPHeaders": {
+ "content-length": "705",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:09:25 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_2.json
new file mode 100644
index 000000000..a69976b55
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_2.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "07ee7fe5-c16a-4940-b099-3cd39aa9c2c8",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:47 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_3.json
new file mode 100644
index 000000000..b1254a9ff
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_3.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "7f34b516-b810-4a2b-8e9c-2e4ac5ea32f2",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:07:03 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_4.json
new file mode 100644
index 000000000..971281183
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_4.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "3f0d6abf-421a-4e56-9f19-a95c4639cbe6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:07:18 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_5.json
new file mode 100644
index 000000000..71ccc5f0b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_5.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "8174eae1-ae94-492c-b8d3-369a912dc994",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:07:34 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_6.json
new file mode 100644
index 000000000..7fba5fbca
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_6.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ab76cd4e-9a69-48f4-8fa6-7b1ea9710f2d",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:07:49 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_7.json
new file mode 100644
index 000000000..e98f0cead
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_7.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "9e552112-f325-4d3e-bb3d-0698b69a9074",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:08:05 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_8.json
new file mode 100644
index 000000000..9f3c01830
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_8.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "1c10aa65-e78f-41e5-bb24-7902b7974bff",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:08:21 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_9.json
new file mode 100644
index 000000000..863aa6350
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_nonmodifiable_attr/ec2.DescribeVpnConnections_9.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9f06e28a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.114</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.43.202.248</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.113</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>spNJGPBQfzbK8hNvpHNOaaml_paRZNKs</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.70.185.193</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>yE7hnuavW4SzersgnMyKIoKbd0rE8giW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.43.202.248",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 47,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.70.185.193",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 8,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "1963dfb1-564a-4a0c-932c-ecddcdb39d41",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:08:37 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.CreateTags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.CreateTags_1.json
new file mode 100644
index 000000000..32afe4c15
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.CreateTags_1.json
@@ -0,0 +1,17 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "8738f361-b294-47d7-a6d7-82d289db5e5f",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 13:06:44 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.CreateVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.CreateVpnConnection_1.json
new file mode 100644
index 000000000..0e22d719b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.CreateVpnConnection_1.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-9c06e289",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "d94359a8-8a4f-4087-b848-27de6253ff6c",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5234",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:04:35 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DeleteVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DeleteVpnConnection_1.json
new file mode 100644
index 000000000..0d225110b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DeleteVpnConnection_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "e780e8ce-5417-4a33-a39e-dd78a18b69a5",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:44 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..548dcfe96
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,115 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "35740449-70e9-4723-b5c4-8c82dc5ec5e6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "3673",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:04:35 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_10.json
new file mode 100644
index 000000000..584a6216a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_10.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 28,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 5,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "2d618f80-4045-4951-8d2e-c8d33395a141",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:42 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_11.json
new file mode 100644
index 000000000..f328bac1b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_11.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 28,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 5,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c9e48b82-1edc-4aa7-ac4d-c45c7bd4ae19",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:42 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_12.json
new file mode 100644
index 000000000..413762768
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_12.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 28,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 5,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "b346f588-dc55-4be6-95c8-e4708609a4e2",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:43 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_13.json
new file mode 100644
index 000000000..b8a3a18fa
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_13.json
@@ -0,0 +1,162 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 28,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 5,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "a5650999-a5ad-4eea-b407-6d9913738f24",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 13:06:43 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_14.json
new file mode 100644
index 000000000..56db26d9b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_14.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 28,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 5,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5e8c0572-8f87-4708-9aca-997ea3736bc4",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:43 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_15.json
new file mode 100644
index 000000000..84a774dd8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_15.json
@@ -0,0 +1,76 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "Tags": [
+ {
+ "Key": "One",
+ "Value": "one"
+ },
+ {
+ "Key": "Two",
+ "Value": "two"
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 28,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 5,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "134576b2-43ed-40ac-aefb-c4770a81f587",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6407",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:44 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_16.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_16.json
new file mode 100644
index 000000000..e2bdf29ee
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_16.json
@@ -0,0 +1,76 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "Tags": [
+ {
+ "Key": "One",
+ "Value": "one"
+ },
+ {
+ "Key": "Two",
+ "Value": "two"
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 28,
+ "minute": 6,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 5,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5daf9a13-6835-4e6d-be9f-040405da8dff",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6407",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:44 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_17.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_17.json
new file mode 100644
index 000000000..4f3650453
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_17.json
@@ -0,0 +1,40 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "One",
+ "Value": "one"
+ },
+ {
+ "Key": "Two",
+ "Value": "two"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "561b039d-ffee-42dc-a390-6dde1ae4fcfe",
+ "HTTPHeaders": {
+ "content-length": "990",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:44 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_2.json
new file mode 100644
index 000000000..ebd539e3a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_2.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "29d88495-a6b4-4f53-9ec7-32ac21fd80c6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:04:35 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_3.json
new file mode 100644
index 000000000..9b004c2a9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_3.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "a647316d-7079-4a0a-8ad3-91a0a36dc124",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:04:51 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_4.json
new file mode 100644
index 000000000..9cf6f0ffc
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_4.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "f913c208-ac39-4b8e-aba5-1410f2e4d6cf",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:05:07 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_5.json
new file mode 100644
index 000000000..88eeadf41
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_5.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "260f7ff4-ec3b-452e-90f3-9ffb3d5f6895",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:05:23 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_6.json
new file mode 100644
index 000000000..860dcfd33
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_6.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "fb308284-ea47-44f9-af61-3c0271809839",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:05:39 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_7.json
new file mode 100644
index 000000000..d71b6108e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_7.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5e0c4efb-8f23-4ce1-b1fe-c5bccac45063",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:05:53 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_8.json
new file mode 100644
index 000000000..6ca0be034
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_8.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 5,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "be516d5b-d999-4de7-bd3e-9c0cb5de857c",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:09 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_9.json
new file mode 100644
index 000000000..633be4130
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/check_for_update_tags/ec2.DescribeVpnConnections_9.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9c06e289\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.112.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>HxHFvA2bBdWo_sBRDHLiRCDviolMhaMR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.42</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.148.246.46</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.41</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>YANkpCz981zsiW_QkZCFrjN1QAiKm73G</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.112.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 36,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.148.246.46",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 57,
+ "minute": 5,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "007948c6-bac8-4f43-8b80-5e7c32f2d1e8",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:06:25 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.CreateVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.CreateVpnConnection_1.json
new file mode 100644
index 000000000..c7f4a8a97
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.CreateVpnConnection_1.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-9006e285",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "e312dbd3-7956-4b0e-bb66-29a85e65e477",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5233",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:33 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DeleteVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DeleteVpnConnection_1.json
new file mode 100644
index 000000000..933d98682
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DeleteVpnConnection_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "fd2ddf0e-f378-46d7-92e7-1b6008d98b04",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:56:11 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..4c2a4f72b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "bcdba325-fd96-4c4b-bb15-dc9a88c456ae",
+ "HTTPHeaders": {
+ "content-length": "1917",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:33 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_10.json
new file mode 100644
index 000000000..25f9a24c4
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_10.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 10,
+ "minute": 55,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ee75ebe8-0587-49b5-a231-0d31f713e3be",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:55:39 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_11.json
new file mode 100644
index 000000000..fde1cd4c0
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_11.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 10,
+ "minute": 55,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5cbe30a2-8771-4116-ba7d-78c32a06546e",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:55:55 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_12.json
new file mode 100644
index 000000000..3c37b32a2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_12.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 10,
+ "minute": 55,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 56,
+ "minute": 55,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "3d3d8178-0359-4c80-85c7-410411a532f4",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:56:11 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_13.json
new file mode 100644
index 000000000..e13b27d04
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_13.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 10,
+ "minute": 55,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 56,
+ "minute": 55,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "67e4f285-2875-4615-ba4e-a36105d24dd7",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:56:11 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_14.json
new file mode 100644
index 000000000..beaa98a1c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_14.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 10,
+ "minute": 55,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 56,
+ "minute": 55,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "a31cc536-1f4b-46d7-a91d-c8d0909eb897",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:56:11 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_15.json
new file mode 100644
index 000000000..cf88d5b8d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_15.json
@@ -0,0 +1,30 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "0cf4c8bf-4f69-4f9f-b6ae-aecbbcb60081",
+ "HTTPHeaders": {
+ "content-length": "705",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:56:12 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_2.json
new file mode 100644
index 000000000..480374028
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_2.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "07019e0f-0012-47dc-8f86-950bb2b36e52",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:33 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_3.json
new file mode 100644
index 000000000..5e69b0584
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_3.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "8174c5d9-d54a-4173-aef3-5e9c3e86bac6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:49 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_4.json
new file mode 100644
index 000000000..47ad90609
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_4.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "46432541-20bd-444f-ab0a-38db7c36aab5",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:54:05 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_5.json
new file mode 100644
index 000000000..f7137760d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_5.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "84598175-301b-40e4-884d-4e4777267375",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:54:21 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_6.json
new file mode 100644
index 000000000..69249db30
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_6.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "092fbf9c-c529-4f71-855e-20b4289dc6f4",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:54:37 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_7.json
new file mode 100644
index 000000000..da6185154
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_7.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "6d1bb01f-6afe-418c-94c2-7d83c4f94a4d",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:54:52 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_8.json
new file mode 100644
index 000000000..284e8b549
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_8.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "830ae224-6cdf-46e2-817b-92bcd5fa86ec",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:55:08 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_9.json
new file mode 100644
index 000000000..3f1a6a680
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection/ec2.DescribeVpnConnections_9.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9006e285\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.24.101.167</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>ZqeYNh0tOtKAbA2GjOnfP1ckplrsKR0I</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.126.9</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>2hNRbfughR8JKpllR1mEg0uPRckXd0bR</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.24.101.167",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 10,
+ "minute": 55,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.126.9",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 34,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "51ec304a-3c90-4bbe-86dc-56d87d693ef6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:55:23 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.CreateVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.CreateVpnConnection_1.json
new file mode 100644
index 000000000..45abc7218
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.CreateVpnConnection_1.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-9306e286",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "541d2997-d79d-42b4-af0a-7d49754a99a0",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5235",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:56:14 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DeleteVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DeleteVpnConnection_1.json
new file mode 100644
index 000000000..46c92879a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DeleteVpnConnection_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "e9b91aeb-4237-44ba-9367-b9d240b3d8ba",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:25 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..5a1e79ea4
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,79 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "fc165fe7-372e-4517-a256-5e12138aa890",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "2356",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:56:14 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_10.json
new file mode 100644
index 000000000..06d4d8371
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_10.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "9e46eaa5-4f5b-42ff-ada0-d90504c0bd9c",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:58:20 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_11.json
new file mode 100644
index 000000000..fc46769af
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_11.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "a3d938cd-ea4f-4739-87df-956db661c1a3",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:58:36 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_12.json
new file mode 100644
index 000000000..0a7045f11
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_12.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c49c942f-0408-4d6d-b04a-1778dc3a3c43",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:58:52 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_13.json
new file mode 100644
index 000000000..385a832a5
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_13.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 58,
+ "minute": 58,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 0,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "18debff6-05c3-44ad-8106-1c1099fba0e0",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:07 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_14.json
new file mode 100644
index 000000000..cb313c523
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_14.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 58,
+ "minute": 58,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 0,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "6fb7285e-c4ff-4f11-bdbc-464efbb66f15",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:23 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_15.json
new file mode 100644
index 000000000..4749c57d5
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_15.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 58,
+ "minute": 58,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 0,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "cffd1787-58a7-4506-b14b-0bab509b8a1a",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:23 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_16.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_16.json
new file mode 100644
index 000000000..de15a8f21
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_16.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 58,
+ "minute": 58,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 0,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "cb19e2ba-a42a-47d3-a20f-9ea9521978f4",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:23 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_17.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_17.json
new file mode 100644
index 000000000..332831510
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_17.json
@@ -0,0 +1,126 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 58,
+ "minute": 58,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 0,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "de97618e-a5a7-4efd-925c-6ca24b2603c6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 12:59:24 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_18.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_18.json
new file mode 100644
index 000000000..505d1a36a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_18.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 58,
+ "minute": 58,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 0,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "aa76261f-ab0e-4bd4-a412-a59e7fdfb6db",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:24 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_19.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_19.json
new file mode 100644
index 000000000..caac14d22
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_19.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 58,
+ "minute": 58,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 0,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "9885231e-ee67-49cb-ada6-e8eb3c772e6b",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:24 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_2.json
new file mode 100644
index 000000000..7e870bbe3
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_2.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ca30a295-dfce-49f8-a1d1-f5af0dffd1c2",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:56:14 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_20.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_20.json
new file mode 100644
index 000000000..0f39c5aa6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_20.json
@@ -0,0 +1,30 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "204f247b-ad5a-4917-bc3e-a793bf09bd48",
+ "HTTPHeaders": {
+ "content-length": "705",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:25 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_3.json
new file mode 100644
index 000000000..1af37e305
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_3.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "a8ebc328-fea9-430d-a546-c5e24d447cef",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:56:30 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_4.json
new file mode 100644
index 000000000..e8ab98030
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_4.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "edf29e1c-30a1-4d11-9e5a-feddd7f082ab",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:56:46 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_5.json
new file mode 100644
index 000000000..5e8203fec
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_5.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "51c5182c-f83e-496b-ba45-e4972064d690",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:57:01 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_6.json
new file mode 100644
index 000000000..cf06e0ad4
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_6.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "b9255f48-f509-42a9-8c0f-6626a492b46e",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:57:17 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_7.json
new file mode 100644
index 000000000..e7965bd02
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_7.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "bab0deee-150b-4952-b949-4acefe6ebafe",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:57:33 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_8.json
new file mode 100644
index 000000000..e7c600455
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_8.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c90d25a2-7e6c-42cc-8f5a-17ab0c58e720",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:57:49 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_9.json
new file mode 100644
index 000000000..17bd7e739
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/create_connection_that_exists/ec2.DescribeVpnConnections_9.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9306e286\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.146</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.213.145.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.145</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>iNsKYUCSTSepYCf0igJVeirisatbjYiw</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.86</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.202.36</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.85</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>KZpfPULAV7ahI1aUspYf9oy4412BFNoP</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.213.145.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.202.36",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 15,
+ "minute": 56,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "b1da658d-a66a-4def-873f-193ede827765",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:58:05 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.CreateVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.CreateVpnConnection_1.json
new file mode 100644
index 000000000..21408b7a6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.CreateVpnConnection_1.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-9d06e288",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "6b76950f-28f0-4e74-9b61-14780c62ced9",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5234",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:01:53 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DeleteVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DeleteVpnConnection_1.json
new file mode 100644
index 000000000..a27bc82cf
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DeleteVpnConnection_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "e0e829b9-86e9-4b26-aa01-ccacf0a77edc",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:04:31 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..fc618a324
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,103 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "149f4f23-9fec-4995-acc5-0db46d4d698f",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "3234",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:01:53 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_10.json
new file mode 100644
index 000000000..958e8a982
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_10.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 3,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5bb89e85-8f96-43b1-96e3-0fd6c00f9b14",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:03:58 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_11.json
new file mode 100644
index 000000000..265a34962
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_11.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 3,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "40ebbb4a-0a18-494e-9666-3481637027fc",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:04:14 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_12.json
new file mode 100644
index 000000000..71caefcf5
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_12.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 19,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 3,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "a86ec01a-5ea5-4fba-8123-5567a04a3596",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:04:30 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_13.json
new file mode 100644
index 000000000..037ba1a1d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_13.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 19,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 3,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "6c96cc41-2657-47a0-b437-a79b0631bbd8",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:04:30 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_14.json
new file mode 100644
index 000000000..7e74e95fb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_14.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 19,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 3,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "1f605613-e582-4b3b-8838-e9fcf0c58e67",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:04:30 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_15.json
new file mode 100644
index 000000000..5bbb025be
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_15.json
@@ -0,0 +1,150 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 19,
+ "minute": 4,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 3,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "9e38c8b0-f339-463a-b92f-aa90fd3315e8",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 13:04:31 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_16.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_16.json
new file mode 100644
index 000000000..786f224ea
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_16.json
@@ -0,0 +1,30 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "0d2390b1-83fb-40f6-ab75-adf605a9a3fc",
+ "HTTPHeaders": {
+ "content-length": "705",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:04:31 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_2.json
new file mode 100644
index 000000000..7abf137d3
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_2.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "e29c19bc-d875-4b6b-83b2-bc2fdfb87bf0",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:01:53 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_3.json
new file mode 100644
index 000000000..e7dc1a4a4
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_3.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "686ef8bb-a95e-4b86-b814-f272c54c8ea5",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:02:09 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_4.json
new file mode 100644
index 000000000..3e3f889f9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_4.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c0583208-1fa5-4c6e-8970-8dd2f3ecd62d",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:02:25 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_5.json
new file mode 100644
index 000000000..59d520d1c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_5.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "b10cdcbf-b16e-43c0-99b1-2fe2ad8db09b",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:02:40 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_6.json
new file mode 100644
index 000000000..06ce44a44
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_6.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "93d3176a-6d6a-44de-8a20-91bd4a64b3a3",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:02:56 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_7.json
new file mode 100644
index 000000000..e15dc61eb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_7.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "329c10c9-0ee8-48d3-acb2-b48668ddbab6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:03:12 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_8.json
new file mode 100644
index 000000000..806c717d2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_8.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "bf983aa1-224e-470a-b0a1-add5bda488b5",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:03:27 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_9.json
new file mode 100644
index 000000000..8e7c3eccf
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_connection/ec2.DescribeVpnConnections_9.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9d06e288\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.166.247.180</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>vMOOPmaOf_RaI5CYB1HP1LSN7fKVajOB</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.126</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.167.45.7</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.125</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>DP5uNzsBDGM2M79qOw0w4uttdQvvTmuE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.166.247.180",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 54,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.167.45.7",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 29,
+ "minute": 3,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "4857fe1d-dc96-4168-a7e1-9fbb73282ab2",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:03:43 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_nonexistent_connection/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_nonexistent_connection/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..eebfb3a70
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/delete_nonexistent_connection/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,17 @@
+{
+ "data": {
+ "VpnConnections": [],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "8218208e-030d-4aea-9ae5-6e8534efe1ef",
+ "HTTPHeaders": {
+ "content-length": "243",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:04:32 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateTags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateTags_1.json
new file mode 100644
index 000000000..9f4209eea
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateTags_1.json
@@ -0,0 +1,17 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ccf8e327-eeee-4db8-9ae6-006a8fe5628c",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 12:48:04 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateTags_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateTags_2.json
new file mode 100644
index 000000000..062840fc2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateTags_2.json
@@ -0,0 +1,17 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "0e1859bf-b896-4a30-ab94-849441b914f9",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 12:48:05 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateVpnConnection_1.json
new file mode 100644
index 000000000..c81bb5f50
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateVpnConnection_1.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-6a06e27f",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5db2e287-2d09-4a50-aaa1-a4615ece9bd6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5235",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:43:03 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateVpnConnection_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateVpnConnection_2.json
new file mode 100644
index 000000000..69c39a89a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.CreateVpnConnection_2.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-9506e280",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "7533469a-5979-42fd-94de-c33a66d34065",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5234",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:45:25 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DeleteVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DeleteVpnConnection_1.json
new file mode 100644
index 000000000..cc17b12af
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DeleteVpnConnection_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5670f275-006d-48db-91e0-72058d9d881f",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:06 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DeleteVpnConnection_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DeleteVpnConnection_2.json
new file mode 100644
index 000000000..d2fd5524e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DeleteVpnConnection_2.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "35514550-20a7-4f91-b175-d21182ad8bdd",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:07 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..d9d2f2872
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,30 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "edae433c-c2f8-475a-95f9-5c3c00d0b54b",
+ "HTTPHeaders": {
+ "content-length": "705",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:43:03 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_10.json
new file mode 100644
index 000000000..aeb322467
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_10.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 6,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 53,
+ "minute": 44,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "a30a934b-5716-4d4d-958a-7e780e333a24",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:45:08 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_11.json
new file mode 100644
index 000000000..3132117c7
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_11.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 6,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 53,
+ "minute": 44,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "99b8bb83-e3f0-4b87-9121-5d862e2627f0",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:45:24 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_12.json
new file mode 100644
index 000000000..89a6fd077
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_12.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 6,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 53,
+ "minute": 44,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c6d1bf65-4f3e-4f7f-9274-281ebf433b2b",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:45:24 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_13.json
new file mode 100644
index 000000000..6c50e6b66
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_13.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 6,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 53,
+ "minute": 44,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "28733dff-592e-4c48-94f9-b4d56bbc246a",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:45:25 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_14.json
new file mode 100644
index 000000000..c8ad595dc
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_14.json
@@ -0,0 +1,30 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "d38f939c-ded7-416b-a563-88161b71be1c",
+ "HTTPHeaders": {
+ "content-length": "705",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:45:25 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_15.json
new file mode 100644
index 000000000..06fd99e11
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_15.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "af7c54ed-ca7f-4013-adee-16133b822d53",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:45:26 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_16.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_16.json
new file mode 100644
index 000000000..ef0845944
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_16.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "24133f7b-2620-4f2b-98b5-427aaa5d04bd",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:45:41 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_17.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_17.json
new file mode 100644
index 000000000..1a5bc6e78
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_17.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5ac6d438-cae6-40cc-9c63-81073def54be",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:45:57 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_18.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_18.json
new file mode 100644
index 000000000..77dbba5bb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_18.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "968a8ebd-ed59-4a8d-a314-83a6430bebd3",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:46:13 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_19.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_19.json
new file mode 100644
index 000000000..6c01e2c67
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_19.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "07f96ac8-f5ec-43e4-ab7d-6b989e071808",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:46:29 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_2.json
new file mode 100644
index 000000000..2f51af371
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_2.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "b1b10bb7-e85c-44ca-b74e-85352550db52",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:43:04 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_20.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_20.json
new file mode 100644
index 000000000..30ecbe4b4
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_20.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "0750711f-fafd-4323-a685-65329a0a9302",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:46:43 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_21.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_21.json
new file mode 100644
index 000000000..844fdab04
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_21.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ec319bcc-2a61-43d3-a69c-9d94235aeb56",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:46:59 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_22.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_22.json
new file mode 100644
index 000000000..be8c4aa55
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_22.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "6fe5a339-9436-4077-a201-dab2b7b95039",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:47:16 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_23.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_23.json
new file mode 100644
index 000000000..0a98ebdf3
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_23.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "7897be6a-fc15-4608-bac0-c3cf7bba28c6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:47:31 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_24.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_24.json
new file mode 100644
index 000000000..d30491528
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_24.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 26,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "898cc57f-ab56-47d7-920e-995814f532a4",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:47:47 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_25.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_25.json
new file mode 100644
index 000000000..79b0739f0
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_25.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 49,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "134c741c-757b-4a87-9a34-c8f1848ef33e",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:02 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_26.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_26.json
new file mode 100644
index 000000000..49b4c09ab
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_26.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 49,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "8009af6c-6d35-45fa-a94d-5384d3b92573",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:02 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_27.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_27.json
new file mode 100644
index 000000000..059a154ee
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_27.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 49,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "7ef9e804-1eb9-4486-9285-584204a824a3",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:02 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_28.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_28.json
new file mode 100644
index 000000000..76ad9ba8e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_28.json
@@ -0,0 +1,78 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 6,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 53,
+ "minute": 44,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "05c178e1-3f1f-4e0f-bb43-027d2b41f56c",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6561",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:04 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_29.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_29.json
new file mode 100644
index 000000000..0b2918289
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_29.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 6,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 53,
+ "minute": 44,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "92db5b5e-d7e6-4cfd-9d62-abdda5a6083c",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:04 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_3.json
new file mode 100644
index 000000000..9f85a23b5
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_3.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "2a3a4fd7-189b-43b0-8a44-82ebd52dba01",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:43:19 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_30.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_30.json
new file mode 100644
index 000000000..cad1188b9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_30.json
@@ -0,0 +1,72 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 6,
+ "minute": 45,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 53,
+ "minute": 44,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ffa7e24d-e004-4b4e-9317-80b97dc89cc8",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6288",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:04 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_31.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_31.json
new file mode 100644
index 000000000..94f87c7d0
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_31.json
@@ -0,0 +1,78 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 49,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "available"
+ },
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "0cebf278-197b-4bdd-b8d9-c44250637154",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6559",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:05 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_32.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_32.json
new file mode 100644
index 000000000..bba620632
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_32.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 49,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "4bc3a17b-6896-4f8a-b3bc-07cbbf88e9e2",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:05 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_33.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_33.json
new file mode 100644
index 000000000..630ea016d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_33.json
@@ -0,0 +1,72 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 49,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "7371d436-849d-4717-a284-e33389f8982d",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6288",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:06 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_34.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_34.json
new file mode 100644
index 000000000..a294fb742
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_34.json
@@ -0,0 +1,72 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9506e280\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.138</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.164.115.77</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.137</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>LOIUEOybh.7onRDbkA0jIjVgwAanpstb</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.14</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.32.43.175</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.13</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>gVdPYm2D00u04GU8PlcRg8NayCIB.8hu</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.164.115.77",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.32.43.175",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 49,
+ "minute": 47,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "b645a20e-3689-4a13-8af1-2dcc38f70a9b",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6288",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:06 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_35.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_35.json
new file mode 100644
index 000000000..42ea2ec0d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_35.json
@@ -0,0 +1,36 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "6e80e598-aeb2-4ae1-bfe3-2383505379cc",
+ "HTTPHeaders": {
+ "content-length": "871",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:07 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_36.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_36.json
new file mode 100644
index 000000000..9a97df1f0
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_36.json
@@ -0,0 +1,36 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "f4072f73-ff8c-49ed-89a7-eaed0389b11a",
+ "HTTPHeaders": {
+ "content-length": "873",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:08 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_4.json
new file mode 100644
index 000000000..ad74fa062
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_4.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ed467717-f22a-4c33-a9e7-0f871d1b35b2",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:43:35 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_5.json
new file mode 100644
index 000000000..9f2bb01f3
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_5.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "49f28398-4458-4c9d-9c04-598c9d8e76bd",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:43:50 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_6.json
new file mode 100644
index 000000000..58c773d2c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_6.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "bebb46be-76a1-486b-a9d0-7f0e33f68294",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:44:06 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_7.json
new file mode 100644
index 000000000..a15fd0e32
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_7.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "090f369a-71f4-4e60-b860-c1f5cc52a5ab",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:44:21 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_8.json
new file mode 100644
index 000000000..2765a9f26
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_8.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "f98ad6e5-e3c6-48ae-b6c1-d9ed9824ea88",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:44:37 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_9.json
new file mode 100644
index 000000000..9b6e2ada2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_filters/ec2.DescribeVpnConnections_9.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6a06e27f\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.194</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.160.156</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.193</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oC1SMX2FbEbY71f2sWq3DPOQELqt4h0p</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.90</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.33.241.73</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.89</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>oNaPmhtWjtzz4Wy3TolB1e5C1UK6_6t9</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.160.156",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 4,
+ "minute": 43,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.33.241.73",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 53,
+ "minute": 44,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ef918599-de1c-40e5-95ab-2a4b16356455",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:44:52 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateTags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateTags_1.json
new file mode 100644
index 000000000..52ca96731
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateTags_1.json
@@ -0,0 +1,17 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "f39595f7-c4f7-4e7c-9681-83e5619e0d84",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 12:50:34 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateTags_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateTags_2.json
new file mode 100644
index 000000000..3aeb21cf6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateTags_2.json
@@ -0,0 +1,17 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "61647610-452d-4a99-abce-d8e61a6ada95",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 12:53:28 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateVpnConnection_1.json
new file mode 100644
index 000000000..17aca9388
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateVpnConnection_1.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-9706e282",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "080cc661-516b-4d6c-806b-64f54b232f57",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5235",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:13 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateVpnConnection_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateVpnConnection_2.json
new file mode 100644
index 000000000..0080abe9d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.CreateVpnConnection_2.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-9606e283",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "d49ec118-3438-40cb-bcb5-8e98d9676688",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5236",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:50:36 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DeleteVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DeleteVpnConnection_1.json
new file mode 100644
index 000000000..ddce99bb1
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DeleteVpnConnection_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "995f99a1-42d4-4d0f-b216-5e54c7052a71",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:29 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DeleteVpnConnection_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DeleteVpnConnection_2.json
new file mode 100644
index 000000000..65af7a366
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DeleteVpnConnection_2.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "701a2c53-ef2e-4b77-bb0c-b0e4904dc714",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:29 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..59bbeec79
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,48 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "22e251ed-4e2b-49a4-8747-fcc9c39ad99e",
+ "HTTPHeaders": {
+ "content-length": "1310",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:12 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_10.json
new file mode 100644
index 000000000..334a32fc4
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_10.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 1,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 9,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "66c5b212-f514-4075-ab41-6c70424d13ef",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:50:17 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_11.json
new file mode 100644
index 000000000..27cf0e60f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_11.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 1,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 9,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "4fa0db43-456e-491d-a6f6-2a2a262bc068",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:50:33 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_12.json
new file mode 100644
index 000000000..12afe81e0
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_12.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 1,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 9,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "521f0a1b-e935-40c2-b896-b13b5b6f2d1a",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:50:34 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_13.json
new file mode 100644
index 000000000..0c5d8ca78
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_13.json
@@ -0,0 +1,72 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 1,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 9,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "da5b58d2-4042-4ed5-8faf-daceb3d706c6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6290",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:50:35 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_14.json
new file mode 100644
index 000000000..861ebd74b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_14.json
@@ -0,0 +1,48 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "d4e21661-391e-48b9-80f8-6c04a13a653e",
+ "HTTPHeaders": {
+ "content-length": "1312",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:50:35 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_15.json
new file mode 100644
index 000000000..d54c65027
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_15.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "3b4a1671-80a6-45a7-b620-885f88f5fd77",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:50:36 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_16.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_16.json
new file mode 100644
index 000000000..41fc9a238
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_16.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "55115858-ebfd-4329-85e8-5bd15b31e62d",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:50:51 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_17.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_17.json
new file mode 100644
index 000000000..1d82c7111
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_17.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "241b82e1-4611-495a-952d-21fce8354e6e",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:51:07 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_18.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_18.json
new file mode 100644
index 000000000..0b0861b68
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_18.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "898fcbc8-4c89-49cd-943f-7c2f0e3a73b7",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:51:22 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_19.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_19.json
new file mode 100644
index 000000000..c054486c7
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_19.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "2f8be95a-d488-412c-9bc3-bca1c66c3ccf",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:51:38 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_2.json
new file mode 100644
index 000000000..9900b9b0a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_2.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "bd0e67d4-f5a5-4e98-a388-e80af982bebf",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:13 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_20.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_20.json
new file mode 100644
index 000000000..39ddd25ed
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_20.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "66fe299d-2a18-4693-bdc3-00475c529a7f",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:51:53 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_21.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_21.json
new file mode 100644
index 000000000..cd711acfe
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_21.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "b5ebc50e-0f1d-4d96-87c1-bf222c186911",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:52:09 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_22.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_22.json
new file mode 100644
index 000000000..490f336b6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_22.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "4f123753-f797-4aff-83f2-edfdb31b679f",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:52:24 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_23.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_23.json
new file mode 100644
index 000000000..78223c6e9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_23.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ff8ad5d4-4798-44f2-b89a-100387a1e1bc",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:52:40 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_24.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_24.json
new file mode 100644
index 000000000..2a98e2069
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_24.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 41,
+ "minute": 52,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c69b6d28-6925-4b09-9a23-c58bd23a952d",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:52:56 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_25.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_25.json
new file mode 100644
index 000000000..069b679c2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_25.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 41,
+ "minute": 52,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 36,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "30239673-06bd-4122-8187-834e098e3035",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:12 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_26.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_26.json
new file mode 100644
index 000000000..95f632a83
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_26.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 41,
+ "minute": 52,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 14,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "a35493d8-79cf-44ce-a5d9-a322984952bb",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:27 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_27.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_27.json
new file mode 100644
index 000000000..f3e374418
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_27.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 41,
+ "minute": 52,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 14,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "a0d807f4-6947-474e-86bc-f1d978a1e6c6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:27 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_28.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_28.json
new file mode 100644
index 000000000..0eb348b26
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_28.json
@@ -0,0 +1,72 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 41,
+ "minute": 52,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 14,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "123f065b-f06a-4464-93e9-f0c9224825dc",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6290",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:28 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_29.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_29.json
new file mode 100644
index 000000000..15182c9ca
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_29.json
@@ -0,0 +1,143 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9606e283\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.142</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.215.4.190</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.141</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>l9lo.f40_7mQk6G.Xe1tZ3HnYaGrqeis</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.214</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.163.123.41</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.213</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>By_kbJfKdll6PTY4W.pMr7CC0gqeP5U2</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.215.4.190",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 41,
+ "minute": 52,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.163.123.41",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 14,
+ "minute": 53,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "State": "available"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 1,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 9,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "State": "available"
+ },
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c6c78a9a-e004-4766-8ef6-16c52b25475d",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 12:53:28 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_3.json
new file mode 100644
index 000000000..fb9619cdc
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_3.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "2b96bd10-97eb-44b0-9ab9-548b0ddf03b9",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:28 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_30.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_30.json
new file mode 100644
index 000000000..4dd608bc6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_30.json
@@ -0,0 +1,36 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "1b613de0-c6e1-48d3-9c9d-b94de070ccda",
+ "HTTPHeaders": {
+ "content-length": "873",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:29 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_31.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_31.json
new file mode 100644
index 000000000..6e537944b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_31.json
@@ -0,0 +1,36 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "0e36b69f-39b7-40ac-8273-8003211fc5f5",
+ "HTTPHeaders": {
+ "content-length": "873",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:29 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_4.json
new file mode 100644
index 000000000..4a13f61e8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_4.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ace0b6a9-e76f-4198-a077-1e2dffbc6c2e",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:43 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_5.json
new file mode 100644
index 000000000..3695e6225
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_5.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "434a478c-99ab-4da1-9446-0190d615553f",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:48:59 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_6.json
new file mode 100644
index 000000000..337959a79
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_6.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "406c570c-4ca9-4657-aab6-c3aec6943a24",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:49:15 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_7.json
new file mode 100644
index 000000000..171cce657
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_7.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "bc262f2c-187c-45ff-bd0e-b8287760d26e",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:49:31 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_8.json
new file mode 100644
index 000000000..9b63c6f5f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_8.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "99bc2889-52c9-4933-ba37-9fc2524a6ec1",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:49:47 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_9.json
new file mode 100644
index 000000000..a64728491
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_insufficient_filters/ec2.DescribeVpnConnections_9.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9706e282\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.26</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>34.214.254.212</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.25</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>AwW2EGlLGc4apzToCgrKQ2e4RexOSfj8</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.174</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.38.34.113</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.173</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>5Slu8XDI5h2_TGXkCw_E2wAiRzyz3yIn</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "34.214.254.212",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 1,
+ "minute": 50,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.38.34.113",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 48,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "26fd3e6c-8c41-4e3b-8bda-47ee9b1ef167",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:50:02 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_nonexistent/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_nonexistent/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..288d2313b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_nonexistent/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,73 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9606e283",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-9506e280",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "79832782-f6e3-483a-b848-306c43731940",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "2087",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:53:30 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.CreateVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.CreateVpnConnection_1.json
new file mode 100644
index 000000000..90b1f2dd2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.CreateVpnConnection_1.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-6f06e27a",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ef16cc59-db82-49e8-b39f-5ed5035a6fba",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5236",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:37:13 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.CreateVpnConnection_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.CreateVpnConnection_2.json
new file mode 100644
index 000000000..dbb692fb6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.CreateVpnConnection_2.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-6906e27c",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "7311c482-6425-4bf5-b764-06652c9ea4b8",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5232",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:40:37 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DeleteVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DeleteVpnConnection_1.json
new file mode 100644
index 000000000..7d346168a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DeleteVpnConnection_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "73286a1c-f428-4617-9b23-b0af8e8e2657",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:43:00 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DeleteVpnConnection_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DeleteVpnConnection_2.json
new file mode 100644
index 000000000..cde1d0237
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DeleteVpnConnection_2.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "6ff1e7ac-f41b-45f8-a925-99f12f15df72",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:43:00 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..079fe193f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,17 @@
+{
+ "data": {
+ "VpnConnections": [],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "784ab580-8495-4cff-b8a9-a70474686d99",
+ "HTTPHeaders": {
+ "content-length": "243",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:37:13 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_10.json
new file mode 100644
index 000000000..5a14e8385
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_10.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 39,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "45a3a55f-4577-4292-9c88-6b20c8968bdb",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:39:18 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_11.json
new file mode 100644
index 000000000..d70a4c405
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_11.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 39,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "dea0cb15-a87a-4340-836d-6cd460b2243e",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:39:33 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_12.json
new file mode 100644
index 000000000..731805d6b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_12.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 39,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c9f63be4-079d-4dcd-adb8-ab18f8787a9c",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:39:48 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_13.json
new file mode 100644
index 000000000..b7406b64c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_13.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 39,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "75e6bdc7-dab7-428c-900b-f8566fcdd8b4",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:40:04 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_14.json
new file mode 100644
index 000000000..a5f05224e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_14.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 39,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "02cad910-6d43-4d55-a031-4055a30bf411",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:40:20 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_15.json
new file mode 100644
index 000000000..f66351222
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_15.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 25,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 39,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "18e05aff-5c66-4e73-97bd-a63061019ed2",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6124",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:40:36 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_16.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_16.json
new file mode 100644
index 000000000..53623b87b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_16.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 25,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 39,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "6df83c0e-40bd-41ed-8149-960375e0b0cf",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6124",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:40:36 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_17.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_17.json
new file mode 100644
index 000000000..62f01fc34
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_17.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 25,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 39,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "a6f596eb-c6a8-4e31-8e1a-bc1ae80443c5",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6124",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:40:36 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_18.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_18.json
new file mode 100644
index 000000000..2336ab51c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_18.json
@@ -0,0 +1,17 @@
+{
+ "data": {
+ "VpnConnections": [],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "dde896f2-98ea-45d2-8208-b71b46a88cd7",
+ "HTTPHeaders": {
+ "content-length": "243",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:40:37 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_19.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_19.json
new file mode 100644
index 000000000..3741da649
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_19.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.19.84",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.149.194.122",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "22bd50ce-bac1-4b63-bef5-d91e10a27cb6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:40:38 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_2.json
new file mode 100644
index 000000000..7552a17aa
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_2.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "acad86c4-655b-488f-a552-f04c60502dcb",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:37:13 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_20.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_20.json
new file mode 100644
index 000000000..448959205
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_20.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.19.84",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.149.194.122",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "4df8324c-5d9f-436e-b9c8-31d123170bcd",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:40:53 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_21.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_21.json
new file mode 100644
index 000000000..fcfe29941
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_21.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.19.84",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.149.194.122",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "b2fddbbe-070c-40c4-b3ff-31b4ab039a93",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:41:09 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_22.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_22.json
new file mode 100644
index 000000000..819d4fb18
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_22.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.19.84",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.149.194.122",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "e4575384-f0ae-4ddb-a6f0-60bf09ae3431",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:41:24 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_23.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_23.json
new file mode 100644
index 000000000..f7b5de10d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_23.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.19.84",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.149.194.122",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "3c2df2d8-21ff-435b-a25e-309708e5d728",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:41:40 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_24.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_24.json
new file mode 100644
index 000000000..d2b789983
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_24.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.19.84",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.149.194.122",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "47bedfce-6c4f-40e5-8d3c-2f7618670665",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:41:55 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_25.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_25.json
new file mode 100644
index 000000000..bf69c4d57
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_25.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.19.84",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.149.194.122",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "25fb78ea-cc25-427c-a1bb-c9bc06a0fcf0",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:42:11 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_26.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_26.json
new file mode 100644
index 000000000..005ca53be
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_26.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.19.84",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.149.194.122",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "dfd25f0b-3331-46b0-9594-739e54b3633b",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:42:27 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_27.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_27.json
new file mode 100644
index 000000000..a8dc687f1
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_27.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.19.84",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 31,
+ "minute": 42,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.149.194.122",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 37,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "e0ce84a4-b7fa-4c51-89c5-f689f5ab05e7",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6116",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:42:42 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_28.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_28.json
new file mode 100644
index 000000000..207caacdc
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_28.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.19.84",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 31,
+ "minute": 42,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.149.194.122",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 46,
+ "minute": 42,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "fbb5d0bf-db4a-4865-b74a-15c9d5dc9acb",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:42:58 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_29.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_29.json
new file mode 100644
index 000000000..397ea49ca
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_29.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.19.84",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 31,
+ "minute": 42,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.149.194.122",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 46,
+ "minute": 42,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "06310935-6410-44da-ab8a-0a3a77b2ed02",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:42:59 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_3.json
new file mode 100644
index 000000000..6c2a473a7
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_3.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "bc0abc0d-3217-4a9c-91b7-4cf7d1612270",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:37:29 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_30.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_30.json
new file mode 100644
index 000000000..86a37a477
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_30.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6906e27c\">\n <customer_gateway_id>cgw-9e13c880</customer_gateway_id>\n <vpn_gateway_id>vgw-32d70c2c</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.78</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.40.19.84</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.77</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>uckHBwcFkdkno4gf5nZHDLCNIM7WXFaW</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>5.4.3.2</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.46</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>54.149.194.122</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.45</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hyFjiPPXAKg6WDjLQkfT7be6lPSK1.TE</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.40.19.84",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 31,
+ "minute": 42,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "54.149.194.122",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 46,
+ "minute": 42,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5ce492e4-a36b-4148-9db4-1cd1390f4d94",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:42:59 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_31.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_31.json
new file mode 100644
index 000000000..c5d67fffc
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_31.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 25,
+ "minute": 40,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 39,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "fab3e62a-b821-40cc-ac9d-3b589ddd7be9",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6124",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:43:00 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_32.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_32.json
new file mode 100644
index 000000000..66db65f6b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_32.json
@@ -0,0 +1,30 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c45356e9-b255-4886-bdeb-a200225b3066",
+ "HTTPHeaders": {
+ "content-length": "705",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:43:00 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_33.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_33.json
new file mode 100644
index 000000000..0abc81717
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_33.json
@@ -0,0 +1,30 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-9e13c880",
+ "VpnConnectionId": "vpn-6906e27c",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-32d70c2c",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "39d1181a-5c5b-4d7e-97cd-dcd5b83bc0b3",
+ "HTTPHeaders": {
+ "content-length": "705",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:43:00 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_4.json
new file mode 100644
index 000000000..2c4135812
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_4.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ed7c7fbb-b31b-4244-b588-e90821e65bff",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:37:45 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_5.json
new file mode 100644
index 000000000..6434571b2
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_5.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "096fa68d-3ed3-4483-b323-4b03cc2c1ebd",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:37:59 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_6.json
new file mode 100644
index 000000000..5e30b888c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_6.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "e18b7cde-2baa-466e-a5ac-ac5cd94db089",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:38:15 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_7.json
new file mode 100644
index 000000000..c84d4c084
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_7.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5845f7f3-a0ea-4948-b3ee-d9ee3fc0f303",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:38:30 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_8.json
new file mode 100644
index 000000000..3b729eccb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_8.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "4a29bfaa-c800-4ed7-858c-9ea4fc8de167",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:38:47 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_9.json
new file mode 100644
index 000000000..87dd4df8e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/find_connection_vpc_conn_id/ec2.DescribeVpnConnections_9.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-6f06e27a\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.34</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.161.239.138</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.33</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>XGAHy.QMOtIujnLKHvwNdGivflNQGbxc</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.230</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.108.105</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.229</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>hk9hgD21aBIIJSz4809scBxMT3dsX_0h</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.161.239.138",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.108.105",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 13,
+ "minute": 37,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "8c873704-b869-4dc2-890d-ebc7d62d7963",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:39:02 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.CreateVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.CreateVpnConnection_1.json
new file mode 100644
index 000000000..1262491d4
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.CreateVpnConnection_1.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-9206e287",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "686913e8-485a-4de0-880d-60a0c2444f65",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5235",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:28 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DeleteVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DeleteVpnConnection_1.json
new file mode 100644
index 000000000..2f8b7802e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DeleteVpnConnection_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ba0807f4-446e-471b-ad25-dc627d0917ff",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:01:49 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..3fe09832d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,91 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "e85e108f-c5c6-4627-a409-ae5e57519e68",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "2795",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:28 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_10.json
new file mode 100644
index 000000000..572694884
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_10.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.213.112",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.36.80.33",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 32,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "fe0912ad-2a87-4f24-a2e9-ecce88edd3a6",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:01:33 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_11.json
new file mode 100644
index 000000000..c1593d62e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_11.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.213.112",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.36.80.33",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 32,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "3d9c0acf-a5e7-41cf-a929-17a804c23cf1",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:01:49 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_12.json
new file mode 100644
index 000000000..f1d5f5b42
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_12.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.213.112",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.36.80.33",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 32,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c59001df-f7a6-413d-8ba2-a3a3e1f3a08c",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:01:49 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_13.json
new file mode 100644
index 000000000..686dfef84
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_13.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.213.112",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.36.80.33",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 32,
+ "minute": 1,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "f9a5a6a9-a952-4183-8600-f0d709ca5902",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:01:49 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_14.json
new file mode 100644
index 000000000..5a65e1dcb
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_14.json
@@ -0,0 +1,30 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ad7f2a01-f5a2-41cb-b572-e55cfff6f0fd",
+ "HTTPHeaders": {
+ "content-length": "705",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:01:50 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_15.json
new file mode 100644
index 000000000..b2bbc32a6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_15.json
@@ -0,0 +1,30 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "ffd0c558-1fb0-4e47-8a78-ad93241a8909",
+ "HTTPHeaders": {
+ "content-length": "705",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:01:50 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_2.json
new file mode 100644
index 000000000..4ce279f36
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_2.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.213.112",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.36.80.33",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "aefdae0c-715c-468d-b209-df744593d702",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:28 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_3.json
new file mode 100644
index 000000000..a2d6c448b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_3.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.213.112",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.36.80.33",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5e7d2b85-1951-4fa5-8003-dcae818ab111",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:44 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_4.json
new file mode 100644
index 000000000..9075e75e6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_4.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.213.112",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.36.80.33",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "648be063-6a5d-4871-8ccf-047275662818",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 12:59:59 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_5.json
new file mode 100644
index 000000000..ba6c47c51
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_5.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.213.112",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.36.80.33",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "e5f1a740-ef05-454b-a8ce-26c6c96d6822",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:00:15 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_6.json
new file mode 100644
index 000000000..089a0a169
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_6.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.213.112",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.36.80.33",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "240aa4a8-495f-4e22-973a-d1b8ca85a7b7",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:00:30 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_7.json
new file mode 100644
index 000000000..a93c555c8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_7.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.213.112",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.36.80.33",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "71e9943b-886d-442f-bd0d-eb50d92522e2",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:00:46 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_8.json
new file mode 100644
index 000000000..ca810951b
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_8.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.213.112",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.36.80.33",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "518172bc-6355-4988-8a92-14c589fbfc6f",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:01:02 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_9.json
new file mode 100644
index 000000000..2af22bb65
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/modify_deleted_connection/ec2.DescribeVpnConnections_9.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9206e287\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.206</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.26.213.112</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.13.205</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>PyWmFHtlfQSgohtXYC1MXVSE9i80QMOK</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.226</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.36.80.33</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.14.225</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>K_tnJM.Z5LxS.Y6vpeXIaCLdetEZik__</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.26.213.112",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.36.80.33",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 12,
+ "second": 28,
+ "minute": 59,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "4679b3c8-f187-4207-81fc-79982e721cb0",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6118",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:01:18 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.CreateVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.CreateVpnConnection_1.json
new file mode 100644
index 000000000..f278854b9
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.CreateVpnConnection_1.json
@@ -0,0 +1,29 @@
+{
+ "data": {
+ "VpnConnection": {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "VpnConnectionId": "vpn-9806e28d",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ },
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "f5a54fbe-aabf-4b5e-82f6-0fc9cd13e50c",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5234",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:12:25 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DeleteTags_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DeleteTags_1.json
new file mode 100644
index 000000000..bf0afd35e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DeleteTags_1.json
@@ -0,0 +1,17 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "2714ec51-d05e-4034-8401-2c99f5247755",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 13:15:02 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DeleteVpnConnection_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DeleteVpnConnection_1.json
new file mode 100644
index 000000000..5cdff416e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DeleteVpnConnection_1.json
@@ -0,0 +1,16 @@
+{
+ "data": {
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "d635286c-b0e0-4048-9edd-5370c643aab4",
+ "HTTPHeaders": {
+ "content-length": "239",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:15:03 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_1.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_1.json
new file mode 100644
index 000000000..0e552275c
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_1.json
@@ -0,0 +1,167 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Ansible-Test",
+ "Value": "VPN"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "One",
+ "Value": "one"
+ },
+ {
+ "Key": "Two",
+ "Value": "two"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "0a7676c6-68de-4301-b107-5ef0fcf5136e",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "5448",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:12:25 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_10.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_10.json
new file mode 100644
index 000000000..f5afd3ed1
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_10.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 16,
+ "minute": 14,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "68efe4ef-9c50-414b-bd65-cbf418c25f72",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:14:30 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_11.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_11.json
new file mode 100644
index 000000000..56c742faf
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_11.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 38,
+ "minute": 14,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 16,
+ "minute": 14,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "7b7f58cb-4e94-4cb2-9d93-ad6e82949476",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:14:46 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_12.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_12.json
new file mode 100644
index 000000000..fd2890b7e
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_12.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 38,
+ "minute": 14,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 16,
+ "minute": 14,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "1d06bb9d-234a-43b4-9465-0f0d6769e7cb",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:15:01 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_13.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_13.json
new file mode 100644
index 000000000..18c7b173f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_13.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 38,
+ "minute": 14,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 16,
+ "minute": 14,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "d967fe54-4131-4d3c-8bec-ca51039d51f5",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:15:01 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_14.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_14.json
new file mode 100644
index 000000000..3373af1da
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_14.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 38,
+ "minute": 14,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 16,
+ "minute": 14,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "9bdf35c6-373f-4a9f-a86a-4f01cd15f742",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6122",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:15:02 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_15.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_15.json
new file mode 100644
index 000000000..bfe18c037
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_15.json
@@ -0,0 +1,214 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 38,
+ "minute": 14,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 16,
+ "minute": 14,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "available"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9e06e28b",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Ansible-Test",
+ "Value": "VPN"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9f06e28a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9c06e289",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "One",
+ "Value": "one"
+ },
+ {
+ "Key": "Two",
+ "Value": "two"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9d06e288",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9206e287",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9306e286",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9006e285",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9706e282",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Correct",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6a06e27f",
+ "Category": "VPN",
+ "Tags": [
+ {
+ "Key": "Wrong",
+ "Value": "Tag"
+ }
+ ],
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ },
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-6f06e27a",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "bcdce0f0-10da-4e78-8fbe-ac147d62013b",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-type": "text/xml;charset=UTF-8",
+ "server": "AmazonEC2",
+ "date": "Mon, 16 Apr 2018 13:15:02 GMT",
+ "transfer-encoding": "chunked"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_16.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_16.json
new file mode 100644
index 000000000..1e44c3c51
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_16.json
@@ -0,0 +1,30 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "deleted"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "4d572583-1b0c-431f-a9f9-7acd45d588e8",
+ "HTTPHeaders": {
+ "content-length": "705",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:15:03 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_2.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_2.json
new file mode 100644
index 000000000..d337c7f69
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_2.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "c8f872e5-ef0e-4517-8ab8-9ef0788a04bc",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:12:26 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_3.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_3.json
new file mode 100644
index 000000000..1d65fb2c6
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_3.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "d99d51ce-6b82-4f53-ade0-d4967b769c93",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:12:41 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_4.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_4.json
new file mode 100644
index 000000000..3c63747c0
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_4.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "f43f34f0-e4d7-4888-9037-2d3f99a30f8f",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:12:57 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_5.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_5.json
new file mode 100644
index 000000000..4b1ed8e7f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_5.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "5b03354b-e15d-4cb7-92e3-b359870a99a3",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:13:13 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_6.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_6.json
new file mode 100644
index 000000000..f10651bef
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_6.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "a022a838-4264-4f08-b309-bea8058706ae",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:13:28 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_7.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_7.json
new file mode 100644
index 000000000..6f5406b36
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_7.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "f9ae9cd9-ce79-4245-863b-79fd5b39cdc1",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:13:44 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_8.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_8.json
new file mode 100644
index 000000000..25e0713fd
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_8.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "57806378-a669-45b1-96ec-ab29ae8a47bb",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:13:59 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_9.json b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_9.json
new file mode 100644
index 000000000..98f25682a
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/placebo_recordings/ec2_vpc_vpn/remove_tags/ec2.DescribeVpnConnections_9.json
@@ -0,0 +1,66 @@
+{
+ "data": {
+ "VpnConnections": [
+ {
+ "CustomerGatewayId": "cgw-6113c87f",
+ "VpnConnectionId": "vpn-9806e28d",
+ "Category": "VPN",
+ "CustomerGatewayConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<vpn_connection id=\"vpn-9806e28d\">\n <customer_gateway_id>cgw-6113c87f</customer_gateway_id>\n <vpn_gateway_id>vgw-35d70c2b</vpn_gateway_id>\n <vpn_connection_type>ipsec.1</vpn_connection_type>\n <vpn_connection_attributes>NoBGPVPNConnection</vpn_connection_attributes>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.22</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>35.165.156.252</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.12.21</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>z2x1x6uE.UaqsFoLbfNuGIzp0rZTLiT.</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n <ipsec_tunnel>\n <customer_gateway>\n <tunnel_outside_address>\n <ip_address>9.8.7.6</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.58</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </customer_gateway>\n <vpn_gateway>\n <tunnel_outside_address>\n <ip_address>52.39.145.205</ip_address>\n </tunnel_outside_address>\n <tunnel_inside_address>\n <ip_address>169.254.15.57</ip_address>\n <network_mask>255.255.255.252</network_mask>\n <network_cidr>30</network_cidr>\n </tunnel_inside_address>\n </vpn_gateway>\n <ike>\n <authentication_protocol>sha1</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>28800</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>main</mode>\n <pre_shared_key>dsNLWo6G.KUBY99TYvBnEMohghrqm6.k</pre_shared_key>\n </ike>\n <ipsec>\n <protocol>esp</protocol>\n <authentication_protocol>hmac-sha1-96</authentication_protocol>\n <encryption_protocol>aes-128-cbc</encryption_protocol>\n <lifetime>3600</lifetime>\n <perfect_forward_secrecy>group2</perfect_forward_secrecy>\n <mode>tunnel</mode>\n <clear_df_bit>true</clear_df_bit>\n <fragmentation_before_encryption>true</fragmentation_before_encryption>\n <tcp_mss_adjustment>1379</tcp_mss_adjustment>\n <dead_peer_detection>\n <interval>10</interval>\n <retries>3</retries>\n </dead_peer_detection>\n </ipsec>\n </ipsec_tunnel>\n</vpn_connection>",
+ "Routes": [],
+ "Options": {
+ "StaticRoutesOnly": true
+ },
+ "Type": "ipsec.1",
+ "VgwTelemetry": [
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "35.165.156.252",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ },
+ {
+ "StatusMessage": "",
+ "Status": "DOWN",
+ "OutsideIpAddress": "52.39.145.205",
+ "AcceptedRouteCount": 0,
+ "LastStatusChange": {
+ "year": 2018,
+ "hour": 13,
+ "second": 26,
+ "minute": 12,
+ "__class__": "datetime",
+ "day": 16,
+ "month": 4,
+ "microsecond": 0
+ }
+ }
+ ],
+ "VpnGatewayId": "vgw-35d70c2b",
+ "State": "pending"
+ }
+ ],
+ "ResponseMetadata": {
+ "HTTPStatusCode": 200,
+ "RequestId": "7efaeb2a-f071-4178-af9c-1bcdbb383d0d",
+ "HTTPHeaders": {
+ "vary": "Accept-Encoding",
+ "content-length": "6120",
+ "server": "AmazonEC2",
+ "content-type": "text/xml;charset=UTF-8",
+ "date": "Mon, 16 Apr 2018 13:14:15 GMT"
+ },
+ "RetryAttempts": 0
+ }
+ },
+ "status_code": 200
+} \ No newline at end of file
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/test_acm_certificate.py b/ansible_collections/community/aws/tests/unit/plugins/modules/test_acm_certificate.py
new file mode 100644
index 000000000..726601fe8
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/test_acm_certificate.py
@@ -0,0 +1,125 @@
+# (c) 2019 Telstra Corporation Limited
+#
+# This file is part of Ansible
+#
+# Ansible is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Ansible is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+from pprint import pprint
+
+from ansible_collections.community.aws.plugins.modules.acm_certificate import chain_compare
+from ansible_collections.community.aws.plugins.modules.acm_certificate import pem_chain_split
+from ansible.module_utils._text import to_text
+
+
+def test_chain_compare():
+
+ # The functions we're testing take module as an argument
+ # Just so they can call module.fail_json
+ # Let's just use None for the unit tests,
+ # Because they shouldn't fail
+ # And if they do, fail_json is not applicable
+ module = None
+
+ fixture_suffix = 'tests/unit/plugins/modules/fixtures/certs'
+
+ # Test chain split function on super simple (invalid) certs
+ expected = ['aaa', 'bbb', 'ccc']
+
+ for fname in ['simple-chain-a.cert', 'simple-chain-b.cert']:
+ path = fixture_suffix + '/' + fname
+ with open(path, 'r') as f:
+ pem = to_text(f.read())
+ actual = pem_chain_split(module, pem)
+ actual = [a.strip() for a in actual]
+ if actual != expected:
+ print("Expected:")
+ pprint(expected)
+ print("Actual:")
+ pprint(actual)
+ raise AssertionError("Failed to properly split %s" % fname)
+
+ # Now test real chains
+ # chains with same same_as should be considered equal
+ test_chains = [
+ { # Original Cert chain
+ 'path': fixture_suffix + '/chain-1.0.cert',
+ 'same_as': 1,
+ 'length': 3
+ },
+ { # Same as 1.0, but longer PEM lines
+ 'path': fixture_suffix + '/chain-1.1.cert',
+ 'same_as': 1,
+ 'length': 3
+ },
+ { # Same as 1.0, but without the stuff before each --------
+ 'path': fixture_suffix + '/chain-1.2.cert',
+ 'same_as': 1,
+ 'length': 3
+ },
+ { # Same as 1.0, but in a different order, so should be considered different
+ 'path': fixture_suffix + '/chain-1.3.cert',
+ 'same_as': 2,
+ 'length': 3
+ },
+ { # Same as 1.0, but with last link missing
+ 'path': fixture_suffix + '/chain-1.4.cert',
+ 'same_as': 3,
+ 'length': 2
+ },
+ { # Completely different cert chain to all the others
+ 'path': fixture_suffix + '/chain-4.cert',
+ 'same_as': 4,
+ 'length': 3
+ },
+ { # Single cert
+ 'path': fixture_suffix + '/a.pem',
+ 'same_as': 5,
+ 'length': 1
+ },
+ { # a different, single cert
+ 'path': fixture_suffix + '/b.pem',
+ 'same_as': 6,
+ 'length': 1
+ }
+ ]
+
+ for chain in test_chains:
+ with open(chain['path'], 'r') as f:
+ chain['pem_text'] = to_text(f.read())
+
+ # Test to make sure our regex isn't too greedy
+ chain['split'] = pem_chain_split(module, chain['pem_text'])
+ if len(chain['split']) != chain['length']:
+ print("Cert before split")
+ print(chain['pem_text'])
+ print("Cert after split")
+ pprint(chain['split'])
+ print("path: %s" % chain['path'])
+ print("Expected chain length: %d" % chain['length'])
+ print("Actual chain length: %d" % len(chain['split']))
+ raise AssertionError("Chain %s was not split properly" % chain['path'])
+
+ for chain_a in test_chains:
+ for chain_b in test_chains:
+ expected = (chain_a['same_as'] == chain_b['same_as'])
+
+ # Now test the comparison function
+ actual = chain_compare(module, chain_a['pem_text'], chain_b['pem_text'])
+ if expected != actual:
+ print("Error, unexpected comparison result between \n%s\nand\n%s" % (chain_a['path'], chain_b['path']))
+ print("Expected %s got %s" % (str(expected), str(actual)))
+ assert expected == actual
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/test_api_gateway.py b/ansible_collections/community/aws/tests/unit/plugins/modules/test_api_gateway.py
new file mode 100644
index 000000000..a6f2c3e91
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/test_api_gateway.py
@@ -0,0 +1,70 @@
+#
+# (c) 2016 Michael De La Rue
+#
+# This file is part of Ansible
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import sys
+import pytest
+
+from ansible_collections.amazon.aws.plugins.module_utils import modules as aws_modules
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import HAS_BOTO3
+from ansible_collections.community.aws.tests.unit.plugins.modules.utils import set_module_args
+
+import ansible_collections.community.aws.plugins.modules.api_gateway as agw
+
+if not HAS_BOTO3:
+ pytestmark = pytest.mark.skip("test_api_gateway.py requires the `boto3` and `botocore` modules")
+
+
+exit_return_dict = {}
+
+
+def fake_exit_json(self, **kwargs):
+ """ store the kwargs given to exit_json rather than putting them out to stdout"""
+ global exit_return_dict
+ exit_return_dict = kwargs
+ sys.exit(0)
+
+
+def test_upload_api(monkeypatch):
+ class FakeConnection:
+
+ def put_rest_api(self, *args, **kwargs):
+ assert kwargs["body"] == "the-swagger-text-is-fake"
+ return {"msg": "success!"}
+
+ def return_fake_connection(*args, **kwargs):
+ return FakeConnection()
+
+ # Because it's imported into the aws_modules namespace we need to override
+ # it there, even though the function itself lives in module_utils.botocore
+ monkeypatch.setattr(aws_modules, "boto3_conn", return_fake_connection)
+ monkeypatch.setattr(aws_modules.AnsibleAWSModule, "exit_json", fake_exit_json)
+
+ set_module_args({
+ "api_id": "fred",
+ "state": "present",
+ "swagger_text": "the-swagger-text-is-fake",
+ "region": 'mars-north-1',
+ "_ansible_tmpdir": "/tmp/ansibl-abcdef",
+ })
+ with pytest.raises(SystemExit):
+ agw.main()
+ assert exit_return_dict["changed"]
+
+
+def test_warn_if_region_not_specified():
+
+ set_module_args({
+ "name": "api_gateway",
+ "state": "present",
+ "runtime": 'python2.7',
+ "role": 'arn:aws:iam::123456789012:role/lambda_basic_execution',
+ "handler": 'lambda_python.my_handler'})
+ with pytest.raises(SystemExit):
+ print(agw.main())
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/test_data_pipeline.py b/ansible_collections/community/aws/tests/unit/plugins/modules/test_data_pipeline.py
new file mode 100644
index 000000000..1a188e8ed
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/test_data_pipeline.py
@@ -0,0 +1,265 @@
+# (c) 2017 Red Hat Inc.
+#
+# This file is part of Ansible
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import collections
+import os
+import json
+import pytest
+
+from ansible.module_utils._text import to_text
+
+try:
+ import boto3
+except ImportError:
+ pass
+
+# Magic... Incorrectly identified by pylint as unused
+from ansible_collections.amazon.aws.tests.unit.utils.amazon_placebo_fixtures import maybe_sleep # pylint: disable=unused-import
+from ansible_collections.amazon.aws.tests.unit.utils.amazon_placebo_fixtures import placeboify # pylint: disable=unused-import
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import HAS_BOTO3
+from ansible_collections.community.aws.plugins.modules import data_pipeline
+
+if not HAS_BOTO3:
+ pytestmark = pytest.mark.skip("test_data_pipeline.py requires the python modules 'boto3' and 'botocore'")
+
+
+class FailException(Exception):
+ pass
+
+
+@pytest.fixture(scope='module')
+def dp_setup():
+ """
+ Yield a FakeModule object, data pipeline id of a vanilla data pipeline, and data pipeline objects
+
+ This fixture is module-scoped, since this can be reused for multiple tests.
+ """
+ Dependencies = collections.namedtuple("Dependencies", ["module", "data_pipeline_id", "objects"])
+
+ # get objects to use to test populating and activating the data pipeline
+ if not os.getenv('PLACEBO_RECORD'):
+ objects = [{"name": "Every 1 day",
+ "id": "DefaultSchedule",
+ "fields": []},
+ {"name": "Default",
+ "id": "Default",
+ "fields": []}]
+ else:
+ s3 = boto3.client('s3')
+ data = s3.get_object(Bucket="ansible-test-datapipeline", Key="pipeline-object/new.json")
+ objects = json.loads(to_text(data['Body'].read()))
+
+ # create a module with vanilla data pipeline parameters
+ params = {'name': 'ansible-test-create-pipeline',
+ 'description': 'ansible-datapipeline-unit-test',
+ 'state': 'present',
+ 'timeout': 300,
+ 'objects': [],
+ 'tags': {},
+ 'parameters': [],
+ 'values': []}
+ module = FakeModule(**params)
+
+ # yield a module, the data pipeline id, and the data pipeline objects (that are not yet defining the vanilla data pipeline)
+ if not os.getenv('PLACEBO_RECORD'):
+ yield Dependencies(module=module, data_pipeline_id='df-0590406117G8DPQZY2HA', objects=objects)
+ else:
+ connection = boto3.client('datapipeline')
+ _changed, result = data_pipeline.create_pipeline(connection, module)
+ data_pipeline_id = result['data_pipeline']['pipeline_id']
+ yield Dependencies(module=module, data_pipeline_id=data_pipeline_id, objects=objects)
+
+ # remove data pipeline
+ if os.getenv('PLACEBO_RECORD'):
+ module.params.update(state='absent')
+ data_pipeline.delete_pipeline(connection, module)
+
+
+class FakeModule(object):
+ def __init__(self, **kwargs):
+ self.params = kwargs
+
+ def fail_json(self, *args, **kwargs):
+ self.exit_args = args
+ self.exit_kwargs = kwargs
+ raise FailException('FAIL')
+
+ def exit_json(self, *args, **kwargs):
+ self.exit_args = args
+ self.exit_kwargs = kwargs
+
+
+def test_create_pipeline_already_exists(placeboify, maybe_sleep, dp_setup):
+ connection = placeboify.client('datapipeline')
+ changed, result = data_pipeline.create_pipeline(connection, dp_setup.module)
+ assert changed is False
+ assert "Data Pipeline ansible-test-create-pipeline is present" in result['msg']
+
+
+def test_pipeline_field(placeboify, maybe_sleep, dp_setup):
+ connection = placeboify.client('datapipeline')
+ pipeline_field_info = data_pipeline.pipeline_field(connection, dp_setup.data_pipeline_id, "@pipelineState")
+ assert pipeline_field_info == "PENDING"
+
+
+def test_define_pipeline(placeboify, maybe_sleep, dp_setup):
+ connection = placeboify.client('datapipeline')
+ changed, result = data_pipeline.define_pipeline(connection, dp_setup.module, dp_setup.objects, dp_setup.data_pipeline_id)
+ assert changed is True
+ assert 'has been updated' in result
+
+
+def test_deactivate_pipeline(placeboify, maybe_sleep, dp_setup):
+ connection = placeboify.client('datapipeline')
+ _changed, result = data_pipeline.deactivate_pipeline(connection, dp_setup.module)
+ # XXX possible bug
+ # assert changed is True
+ assert "Data Pipeline ansible-test-create-pipeline deactivated" in result['msg']
+
+
+def test_activate_without_population(placeboify, maybe_sleep, dp_setup):
+ connection = placeboify.client('datapipeline')
+ with pytest.raises(FailException):
+ _changed, _result = data_pipeline.activate_pipeline(connection, dp_setup.module)
+ assert dp_setup.module.exit_kwargs.get('msg') == "You need to populate your pipeline before activation."
+
+
+def test_create_pipeline(placeboify, maybe_sleep):
+ connection = placeboify.client('datapipeline')
+ params = {'name': 'ansible-unittest-create-pipeline',
+ 'description': 'ansible-datapipeline-unit-test',
+ 'state': 'present',
+ 'timeout': 300,
+ 'tags': {}}
+ m = FakeModule(**params)
+ changed, result = data_pipeline.create_pipeline(connection, m)
+ assert changed is True
+ assert result['msg'] == "Data Pipeline ansible-unittest-create-pipeline created."
+
+ data_pipeline.delete_pipeline(connection, m)
+
+
+def test_create_pipeline_with_tags(placeboify, maybe_sleep):
+ connection = placeboify.client('datapipeline')
+ params = {'name': 'ansible-unittest-create-pipeline_tags',
+ 'description': 'ansible-datapipeline-unit-test',
+ 'state': 'present',
+ 'tags': {'ansible': 'test'},
+ 'timeout': 300}
+ m = FakeModule(**params)
+ changed, result = data_pipeline.create_pipeline(connection, m)
+ assert changed is True
+ assert result['msg'] == "Data Pipeline ansible-unittest-create-pipeline_tags created."
+
+ data_pipeline.delete_pipeline(connection, m)
+
+
+def test_delete_nonexistent_pipeline(placeboify, maybe_sleep):
+ connection = placeboify.client('datapipeline')
+ params = {'name': 'ansible-test-nonexistent',
+ 'description': 'ansible-test-nonexistent',
+ 'state': 'absent',
+ 'objects': [],
+ 'tags': {'ansible': 'test'},
+ 'timeout': 300}
+ m = FakeModule(**params)
+ changed, _result = data_pipeline.delete_pipeline(connection, m)
+ assert changed is False
+
+
+def test_delete_pipeline(placeboify, maybe_sleep):
+ connection = placeboify.client('datapipeline')
+ params = {'name': 'ansible-test-nonexistent',
+ 'description': 'ansible-test-nonexistent',
+ 'state': 'absent',
+ 'objects': [],
+ 'tags': {'ansible': 'test'},
+ 'timeout': 300}
+ m = FakeModule(**params)
+ data_pipeline.create_pipeline(connection, m)
+ changed, _result = data_pipeline.delete_pipeline(connection, m)
+ assert changed is True
+
+
+def test_build_unique_id_different():
+ m = FakeModule(**{'name': 'ansible-unittest-1', 'description': 'test-unique-id'})
+ m2 = FakeModule(**{'name': 'ansible-unittest-1', 'description': 'test-unique-id-different'})
+ assert data_pipeline.build_unique_id(m) != data_pipeline.build_unique_id(m2)
+
+
+def test_build_unique_id_same():
+ m = FakeModule(**{'name': 'ansible-unittest-1', 'description': 'test-unique-id', 'tags': {'ansible': 'test'}})
+ m2 = FakeModule(**{'name': 'ansible-unittest-1', 'description': 'test-unique-id', 'tags': {'ansible': 'test'}})
+ assert data_pipeline.build_unique_id(m) == data_pipeline.build_unique_id(m2)
+
+
+def test_build_unique_id_obj():
+ # check that the object can be different and the unique id should be the same; should be able to modify objects
+ m = FakeModule(**{'name': 'ansible-unittest-1', 'objects': [{'first': 'object'}]})
+ m2 = FakeModule(**{'name': 'ansible-unittest-1', 'objects': [{'second': 'object'}]})
+ assert data_pipeline.build_unique_id(m) == data_pipeline.build_unique_id(m2)
+
+
+def test_format_tags():
+ unformatted_tags = {'key1': 'val1', 'key2': 'val2', 'key3': 'val3'}
+ formatted_tags = data_pipeline.format_tags(unformatted_tags)
+ for tag_set in formatted_tags:
+ assert unformatted_tags[tag_set['key']] == tag_set['value']
+
+
+def test_format_empty_tags():
+ unformatted_tags = {}
+ formatted_tags = data_pipeline.format_tags(unformatted_tags)
+ assert formatted_tags == []
+
+
+def test_pipeline_description(placeboify, maybe_sleep, dp_setup):
+ connection = placeboify.client('datapipeline')
+ dp_id = dp_setup.data_pipeline_id
+ pipelines = data_pipeline.pipeline_description(connection, dp_id)
+ assert dp_id == pipelines['pipelineDescriptionList'][0]['pipelineId']
+
+
+def test_pipeline_description_nonexistent(placeboify, maybe_sleep):
+ hypothetical_pipeline_id = "df-015440025PF7YGLDK47C"
+ connection = placeboify.client('datapipeline')
+ with pytest.raises(data_pipeline.DataPipelineNotFound):
+ data_pipeline.pipeline_description(connection, hypothetical_pipeline_id)
+
+
+def test_check_dp_exists_true(placeboify, maybe_sleep, dp_setup):
+ connection = placeboify.client('datapipeline')
+ exists = data_pipeline.check_dp_exists(connection, dp_setup.data_pipeline_id)
+ assert exists is True
+
+
+def test_check_dp_exists_false(placeboify, maybe_sleep):
+ hypothetical_pipeline_id = "df-015440025PF7YGLDK47C"
+ connection = placeboify.client('datapipeline')
+ exists = data_pipeline.check_dp_exists(connection, hypothetical_pipeline_id)
+ assert exists is False
+
+
+def test_check_dp_status(placeboify, maybe_sleep, dp_setup):
+ inactive_states = ['INACTIVE', 'PENDING', 'FINISHED', 'DELETING']
+ connection = placeboify.client('datapipeline')
+ state = data_pipeline.check_dp_status(connection, dp_setup.data_pipeline_id, inactive_states)
+ assert state is True
+
+
+def test_activate_pipeline(placeboify, maybe_sleep, dp_setup):
+ # use objects to define pipeline before activating
+ connection = placeboify.client('datapipeline')
+ data_pipeline.define_pipeline(connection,
+ module=dp_setup.module,
+ objects=dp_setup.objects,
+ dp_id=dp_setup.data_pipeline_id)
+ changed, _result = data_pipeline.activate_pipeline(connection, dp_setup.module)
+ assert changed is True
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_confirm_connection.py b/ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_confirm_connection.py
new file mode 100644
index 000000000..63804415d
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_confirm_connection.py
@@ -0,0 +1,164 @@
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import pytest
+try:
+ from botocore.exceptions import ClientError
+except ImportError:
+ pass
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import HAS_BOTO3
+from ansible_collections.community.aws.tests.unit.compat.mock import call
+from ansible_collections.community.aws.tests.unit.compat.mock import patch
+from ansible_collections.community.aws.tests.unit.plugins.modules.utils import AnsibleExitJson
+from ansible_collections.community.aws.tests.unit.plugins.modules.utils import AnsibleFailJson
+from ansible_collections.community.aws.tests.unit.plugins.modules.utils import ModuleTestCase
+from ansible_collections.community.aws.tests.unit.plugins.modules.utils import set_module_args
+
+from ansible_collections.community.aws.plugins.modules import directconnect_confirm_connection
+
+if not HAS_BOTO3:
+ pytestmark = pytest.mark.skip("test_directconnect_confirm_connection.py requires the `boto3` and `botocore` modules")
+
+
+@patch('ansible_collections.amazon.aws.plugins.module_utils.core.HAS_BOTO3', new=True)
+@patch.object(directconnect_confirm_connection.AnsibleAWSModule, "client")
+class TestAWSDirectConnectConfirmConnection(ModuleTestCase):
+ def test_missing_required_parameters(self, *args):
+ set_module_args({})
+ with self.assertRaises(AnsibleFailJson) as exec_info:
+ directconnect_confirm_connection.main()
+
+ result = exec_info.exception.args[0]
+ assert result["failed"] is True
+ assert "name" in result["msg"]
+ assert "connection_id" in result["msg"]
+
+ def test_get_by_connection_id(self, mock_client):
+ mock_client.return_value.describe_connections.return_value = {
+ "connections": [
+ {
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgq9rgot",
+ "location": "EqSe2",
+ "connectionName": "ansible-test-connection",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ }
+ ]
+ }
+ set_module_args({
+ "connection_id": "dxcon-fgq9rgot"
+ })
+ with self.assertRaises(AnsibleExitJson) as exec_info:
+ directconnect_confirm_connection.main()
+
+ result = exec_info.exception.args[0]
+ assert result["changed"] is False
+ assert result["connection_state"] == "requested"
+ mock_client.return_value.describe_connections.assert_has_calls([
+ call(connectionId="dxcon-fgq9rgot")
+ ])
+ mock_client.return_value.confirm_connection.assert_not_called()
+
+ def test_get_by_name(self, mock_client):
+ mock_client.return_value.describe_connections.return_value = {
+ "connections": [
+ {
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgq9rgot",
+ "location": "EqSe2",
+ "connectionName": "ansible-test-connection",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ }
+ ]
+ }
+ set_module_args({
+ "name": "ansible-test-connection"
+ })
+ with self.assertRaises(AnsibleExitJson) as exec_info:
+ directconnect_confirm_connection.main()
+
+ result = exec_info.exception.args[0]
+ assert result["changed"] is False
+ assert result["connection_state"] == "requested"
+ mock_client.return_value.describe_connections.assert_has_calls([
+ call(),
+ call(connectionId="dxcon-fgq9rgot")
+ ])
+ mock_client.return_value.confirm_connection.assert_not_called()
+
+ def test_missing_connection_id(self, mock_client):
+ mock_client.return_value.describe_connections.side_effect = ClientError(
+ {'Error': {'Code': 'ResourceNotFoundException'}}, 'DescribeConnection')
+ set_module_args({
+ "connection_id": "dxcon-aaaabbbb"
+ })
+ with self.assertRaises(AnsibleFailJson) as exec_info:
+ directconnect_confirm_connection.main()
+
+ result = exec_info.exception.args[0]
+ assert result["failed"] is True
+ mock_client.return_value.describe_connections.assert_has_calls([
+ call(connectionId="dxcon-aaaabbbb")
+ ])
+
+ def test_missing_name(self, mock_client):
+ mock_client.return_value.describe_connections.return_value = {
+ "connections": [
+ {
+ "connectionState": "requested",
+ "connectionId": "dxcon-fgq9rgot",
+ "location": "EqSe2",
+ "connectionName": "ansible-test-connection",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ }
+ ]
+ }
+ set_module_args({
+ "name": "foobar"
+ })
+ with self.assertRaises(AnsibleFailJson) as exec_info:
+ directconnect_confirm_connection.main()
+
+ result = exec_info.exception.args[0]
+ assert result["failed"] is True
+ mock_client.return_value.describe_connections.assert_has_calls([
+ call()
+ ])
+
+ def test_confirm(self, mock_client):
+ mock_client.return_value.describe_connections.return_value = {
+ "connections": [
+ {
+ "connectionState": "ordering",
+ "connectionId": "dxcon-fgq9rgot",
+ "location": "EqSe2",
+ "connectionName": "ansible-test-connection",
+ "bandwidth": "1Gbps",
+ "ownerAccount": "123456789012",
+ "region": "us-west-2"
+ }
+ ]
+ }
+ mock_client.return_value.confirm_connection.return_value = [{}]
+ set_module_args({
+ "connection_id": "dxcon-fgq9rgot"
+ })
+ with self.assertRaises(AnsibleExitJson) as exec_info:
+ directconnect_confirm_connection.main()
+
+ result = exec_info.exception.args[0]
+ assert result["changed"] is True
+ mock_client.return_value.describe_connections.assert_has_calls([
+ call(connectionId="dxcon-fgq9rgot"),
+ call(connectionId="dxcon-fgq9rgot"),
+ call(connectionId="dxcon-fgq9rgot")
+ ])
+ mock_client.return_value.confirm_connection.assert_called_once_with(connectionId="dxcon-fgq9rgot")
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_connection.py b/ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_connection.py
new file mode 100644
index 000000000..65ba0a3f0
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_connection.py
@@ -0,0 +1,87 @@
+# (c) 2017 Red Hat Inc.
+#
+# This file is part of Ansible
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import pytest
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import HAS_BOTO3
+# Magic... Incorrectly identified by pylint as unused
+from ansible_collections.amazon.aws.tests.unit.utils.amazon_placebo_fixtures import maybe_sleep # pylint: disable=unused-import
+from ansible_collections.amazon.aws.tests.unit.utils.amazon_placebo_fixtures import placeboify # pylint: disable=unused-import
+
+from ansible_collections.community.aws.plugins.modules import directconnect_connection
+
+if not HAS_BOTO3:
+ pytestmark = pytest.mark.skip("test_directconnect_confirm_connection.py requires the `boto3` and `botocore` modules")
+
+
+# When rerecording these tests, create a stand alone connection with default values in us-west-2
+# with the name ansible-test-connection and set connection_id to the appropriate value
+connection_id = "dxcon-fgq9rgot"
+connection_name = 'ansible-test-connection'
+
+
+def test_connection_status(placeboify, maybe_sleep):
+ client = placeboify.client('directconnect')
+ status = directconnect_connection.connection_status(client, connection_id)['connection']
+ assert status['connectionName'] == connection_name
+ assert status['connectionId'] == connection_id
+
+
+def test_connection_exists_by_id(placeboify, maybe_sleep):
+ client = placeboify.client('directconnect')
+ exists = directconnect_connection.connection_exists(client, connection_id)
+ assert exists == connection_id
+
+
+def test_connection_exists_by_name(placeboify, maybe_sleep):
+ client = placeboify.client('directconnect')
+ exists = directconnect_connection.connection_exists(client, None, connection_name)
+ assert exists == connection_id
+
+
+def test_connection_does_not_exist(placeboify, maybe_sleep):
+ client = placeboify.client('directconnect')
+ exists = directconnect_connection.connection_exists(client, 'dxcon-notthere')
+ assert exists is False
+
+
+def test_changed_properties(placeboify, maybe_sleep):
+ client = placeboify.client('directconnect')
+ status = directconnect_connection.connection_status(client, connection_id)['connection']
+ location = "differentlocation"
+ bandwidth = status['bandwidth']
+ assert directconnect_connection.changed_properties(status, location, bandwidth) is True
+
+
+def test_associations_are_not_updated(placeboify, maybe_sleep):
+ client = placeboify.client('directconnect')
+ status = directconnect_connection.connection_status(client, connection_id)['connection']
+ lag_id = status.get('lagId')
+ assert directconnect_connection.update_associations(client, status, connection_id, lag_id) is False
+
+
+def test_create_and_delete(placeboify, maybe_sleep):
+ client = placeboify.client('directconnect')
+ created_conn = verify_create_works(placeboify, maybe_sleep, client)
+ verify_delete_works(placeboify, maybe_sleep, client, created_conn)
+
+
+def verify_create_works(placeboify, maybe_sleep, client):
+ created = directconnect_connection.create_connection(client=client,
+ location="EqSE2",
+ bandwidth="1Gbps",
+ name="ansible-test-2",
+ lag_id=None)
+ assert created.startswith('dxcon')
+ return created
+
+
+def verify_delete_works(placeboify, maybe_sleep, client, conn_id):
+ changed = directconnect_connection.ensure_absent(client, conn_id)
+ assert changed is True
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_link_aggregation_group.py b/ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_link_aggregation_group.py
new file mode 100644
index 000000000..90c8d9604
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_link_aggregation_group.py
@@ -0,0 +1,178 @@
+# (c) 2017 Red Hat Inc.
+#
+# This file is part of Ansible
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import pytest
+import os
+import collections
+
+# Magic... Incorrectly identified by pylint as unused
+from ansible_collections.amazon.aws.tests.unit.utils.amazon_placebo_fixtures import maybe_sleep # pylint: disable=unused-import
+from ansible_collections.amazon.aws.tests.unit.utils.amazon_placebo_fixtures import placeboify # pylint: disable=unused-import
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import HAS_BOTO3
+from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_conn
+from ansible_collections.amazon.aws.plugins.module_utils.ec2 import get_aws_connection_info
+
+from ansible_collections.community.aws.plugins.modules import directconnect_link_aggregation_group as lag_module
+
+if not HAS_BOTO3:
+ pytestmark = pytest.mark.skip("test_directconnect_confirm_connection.py requires the `boto3` and `botocore` modules")
+
+
+@pytest.fixture(scope="module")
+def dependencies():
+
+ # each LAG dict will contain the keys: module, connections, virtual_interfaces
+ Dependencies = collections.namedtuple("Dependencies", ["lag_1", "lag_2"])
+ lag_1 = dict()
+ lag_2 = dict()
+
+ vanilla_params = {"name": "ansible_lag_1",
+ "location": "EqSe2",
+ "num_connections": 1,
+ "min_links": 0,
+ "bandwidth": "1Gbps"}
+
+ for lag in ("ansible_lag_1", "ansible_lag_2"):
+ params = dict(vanilla_params)
+ params["name"] = lag
+ if lag == "ansible_lag_1":
+ lag_1["module"] = FakeModule(**params)
+ else:
+ lag_2["module"] = FakeModule(**params)
+
+ if os.getenv("PLACEBO_RECORD"):
+ region, ec2_url, aws_connect_kwargs = get_aws_connection_info(lag_1["module"], boto3=True)
+ client = boto3_conn(lag_1["module"], conn_type="client", resource="directconnect", region=region, endpoint=ec2_url, **aws_connect_kwargs)
+ # See if link aggregation groups exist
+ for name in ("ansible_lag_1", "ansible_lag_2"):
+ lag_id = lag_module.create_lag(client, num_connections=1, location="EqSe2", bandwidth="1Gbps", name=name, connection_id=None)
+ if name == "ansible_lag_1":
+ lag_1["lag_id"] = lag_id
+ lag_1["name"] = name
+ else:
+ lag_2["lag_id"] = lag_id
+ lag_2["name"] = name
+ yield Dependencies(lag_1=lag_1, lag_2=lag_2)
+ else:
+ lag_1.update(lag_id="dxlag-fgkk4dja", name="ansible_lag_1")
+ lag_2.update(lag_id="dxlag-fgytkicv", name="ansible_lag_2")
+ yield Dependencies(lag_1=lag_1, lag_2=lag_2)
+
+ if os.getenv("PLACEBO_RECORD"):
+ # clean up
+ lag_module.ensure_absent(client, lag_1["lag_id"], lag_1["name"], True, True, True, 120)
+ lag_module.ensure_absent(client, lag_2["lag_id"], lag_2["name"], True, True, True, 120)
+
+
+class FakeModule(object):
+ def __init__(self, **kwargs):
+ self.params = kwargs
+
+ def fail_json(self, *args, **kwargs):
+ self.exit_args = args
+ self.exit_kwargs = kwargs
+ raise Exception("FAIL")
+
+ def exit_json(self, *args, **kwargs):
+ self.exit_args = args
+ self.exit_kwargs = kwargs
+
+
+def test_nonexistent_lag_status(placeboify, maybe_sleep):
+ client = placeboify.client("directconnect")
+ exists = lag_module.lag_exists(client=client,
+ lag_id="doesntexist",
+ lag_name="doesntexist",
+ verify=True)
+ assert not exists
+
+
+def test_lag_status(placeboify, maybe_sleep, dependencies):
+ client = placeboify.client("directconnect")
+ status = lag_module.lag_status(client, lag_id=dependencies.lag_1.get("lag_id"))
+ assert status.get("lagId") == dependencies.lag_1.get("lag_id")
+ assert status.get("lagName") == "ansible_lag_1"
+
+
+def test_lag_exists(placeboify, maybe_sleep, dependencies):
+ client = placeboify.client("directconnect")
+ exists = lag_module.lag_exists(client=client,
+ lag_id=dependencies.lag_1.get("lag_id"),
+ lag_name=None,
+ verify=True)
+ assert exists
+
+
+def test_lag_exists_using_name(placeboify, maybe_sleep, dependencies):
+ client = placeboify.client("directconnect")
+ exists = lag_module.lag_exists(client=client,
+ lag_id=None,
+ lag_name=dependencies.lag_1.get("name"),
+ verify=True)
+ assert exists
+
+
+def test_nonexistent_lag_does_not_exist(placeboify, maybe_sleep):
+ client = placeboify.client("directconnect")
+ exists = lag_module.lag_exists(client=client,
+ lag_id="dxlag-XXXXXXXX",
+ lag_name="doesntexist",
+ verify=True)
+ assert not exists
+
+
+def test_lag_changed_true(placeboify, maybe_sleep, dependencies):
+ client = placeboify.client("directconnect")
+ status = lag_module.lag_status(client=client, lag_id=dependencies.lag_1.get("lag_id"))
+ assert lag_module.lag_changed(status, "new_name", 1)
+
+
+def test_lag_changed_true_no(placeboify, maybe_sleep, dependencies):
+ client = placeboify.client("directconnect")
+ status = lag_module.lag_status(client=client, lag_id=dependencies.lag_1.get("lag_id"))
+ assert not lag_module.lag_changed(status, "ansible_lag_1", 0)
+
+
+def test_update_lag(placeboify, maybe_sleep, dependencies):
+ client = placeboify.client("directconnect")
+ status_before = lag_module.lag_status(client=client, lag_id=dependencies.lag_2.get("lag_id"))
+ lag_module.update_lag(client,
+ lag_id=dependencies.lag_2.get("lag_id"),
+ lag_name="ansible_lag_2_update",
+ min_links=0,
+ wait=False,
+ wait_timeout=0,
+ num_connections=1)
+ status_after = lag_module.lag_status(client=client, lag_id=dependencies.lag_2.get("lag_id"))
+ assert status_before != status_after
+
+ # remove the lag name from the statuses and verify it was the only thing changed
+ del status_before['lagName']
+ del status_after['lagName']
+ assert status_before == status_after
+
+
+def test_delete_nonexistent_lag(placeboify, maybe_sleep):
+ client = placeboify.client("directconnect")
+ changed = lag_module.ensure_absent(client, "dxlag-XXXXXXXX", "doesntexist", True, True, True, 120)
+ assert not changed
+
+
+def test_delete_lag_with_connections_without_force_delete(placeboify, maybe_sleep, dependencies):
+ client = placeboify.client("directconnect")
+ with pytest.raises(Exception) as error_message:
+ lag_module.ensure_absent(client, dependencies.lag_1.get("lag_id"), "ansible_lag_1", False, True, True, 120)
+ assert "To force deletion of the LAG use delete_force: True" in error_message
+
+
+def test_delete_lag_with_connections(placeboify, maybe_sleep, dependencies):
+ client = placeboify.client("directconnect")
+ changed = lag_module.ensure_absent(client, dependencies.lag_1.get("lag_id"), "ansible_lag_1", True, True, True, 120)
+ assert changed
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_virtual_interface.py b/ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_virtual_interface.py
new file mode 100644
index 000000000..4f0086421
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/test_directconnect_virtual_interface.py
@@ -0,0 +1,233 @@
+# (c) 2017 Red Hat Inc.
+#
+# This file is part of Ansible
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import pytest
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import HAS_BOTO3
+# Magic... Incorrectly identified by pylint as unused
+from ansible_collections.amazon.aws.tests.unit.utils.amazon_placebo_fixtures import maybe_sleep # pylint: disable=unused-import
+from ansible_collections.amazon.aws.tests.unit.utils.amazon_placebo_fixtures import placeboify # pylint: disable=unused-import
+
+from ansible_collections.community.aws.plugins.modules import directconnect_virtual_interface
+
+if not HAS_BOTO3:
+ pytestmark = pytest.mark.skip("test_directconnect_confirm_connection.py requires the `boto3` and `botocore` modules")
+
+
+class FailException(Exception):
+ pass
+
+
+class FakeModule(object):
+ def __init__(self, **kwargs):
+ self.params = kwargs
+
+ def fail_json(self, *args, **kwargs):
+ self.exit_args = args
+ self.exit_kwargs = kwargs
+ raise FailException("FAIL")
+
+ def exit_json(self, *args, **kwargs):
+ self.exit_args = args
+ self.exit_kwargs = kwargs
+
+
+def test_find_unique_vi_by_connection_id(placeboify, maybe_sleep):
+ client = placeboify.client("directconnect")
+ vi_id = directconnect_virtual_interface.find_unique_vi(client, "dxcon-aaaaaaaa", None, None)
+ assert vi_id == "dxvif-aaaaaaaa"
+
+
+def test_find_unique_vi_by_vi_id(placeboify, maybe_sleep):
+ client = placeboify.client("directconnect")
+ vi_id = directconnect_virtual_interface.find_unique_vi(client,
+ None,
+ "dxvif-aaaaaaaaa",
+ None)
+ assert vi_id == "dxvif-aaaaaaaa"
+
+
+def test_find_unique_vi_by_name(placeboify, maybe_sleep):
+ client = placeboify.client("directconnect")
+ vi_id = directconnect_virtual_interface.find_unique_vi(client, None, None, "aaaaaaaa")
+ assert vi_id == "dxvif-aaaaaaaa"
+
+
+def test_find_unique_vi_returns_multiple(placeboify, maybe_sleep):
+ client = placeboify.client("directconnect")
+ module = FakeModule(state="present",
+ id_to_associate="dxcon-aaaaaaaa",
+ public=False,
+ name=None)
+ with pytest.raises(FailException):
+ directconnect_virtual_interface.ensure_state(
+ client,
+ module
+ )
+ assert "Multiple virtual interfaces were found" in module.exit_kwargs["msg"]
+
+
+def test_find_unique_vi_returns_missing_for_vi_id(placeboify, maybe_sleep):
+ client = placeboify.client("directconnect")
+ module = FakeModule(state="present",
+ id_to_associate=None,
+ public=False,
+ name=None,
+ virtual_interface_id="dxvif-aaaaaaaa")
+ with pytest.raises(FailException):
+ directconnect_virtual_interface.ensure_state(
+ client,
+ module
+ )
+ assert "The virtual interface dxvif-aaaaaaaa does not exist" in module.exit_kwargs["msg"]
+
+
+def test_construct_public_vi():
+ module = FakeModule(state="present",
+ id_to_associate=None,
+ public=True,
+ name="aaaaaaaa",
+ vlan=1,
+ bgp_asn=123,
+ authentication_key="aaaa",
+ customer_address="169.254.0.1/30",
+ amazon_address="169.254.0.2/30",
+ address_type="ipv4",
+ cidr=["10.88.0.0/30"],
+ virtual_gateway_id="xxxx",
+ direct_connect_gateway_id="yyyy")
+ vi = directconnect_virtual_interface.assemble_params_for_creating_vi(module.params)
+ assert vi == {
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 1,
+ "asn": 123,
+ "authKey": "aaaa",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "routeFilterPrefixes": [{"cidr": "10.88.0.0/30"}]
+ }
+
+
+def test_construct_private_vi_with_virtual_gateway_id():
+ module = FakeModule(state="present",
+ id_to_associate=None,
+ public=False,
+ name="aaaaaaaa",
+ vlan=1,
+ bgp_asn=123,
+ authentication_key="aaaa",
+ customer_address="169.254.0.1/30",
+ amazon_address="169.254.0.2/30",
+ address_type="ipv4",
+ cidr=["10.88.0.0/30"],
+ virtual_gateway_id="xxxx",
+ direct_connect_gateway_id="yyyy")
+ vi = directconnect_virtual_interface.assemble_params_for_creating_vi(module.params)
+ assert vi == {
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 1,
+ "asn": 123,
+ "authKey": "aaaa",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "virtualGatewayId": "xxxx"
+ }
+
+
+def test_construct_private_vi_with_direct_connect_gateway_id():
+ module = FakeModule(state="present",
+ id_to_associate=None,
+ public=False,
+ name="aaaaaaaa",
+ vlan=1,
+ bgp_asn=123,
+ authentication_key="aaaa",
+ customer_address="169.254.0.1/30",
+ amazon_address="169.254.0.2/30",
+ address_type="ipv4",
+ cidr=["10.88.0.0/30"],
+ virtual_gateway_id=None,
+ direct_connect_gateway_id="yyyy")
+ vi = directconnect_virtual_interface.assemble_params_for_creating_vi(module.params)
+ print(vi)
+ assert vi == {
+ "virtualInterfaceName": "aaaaaaaa",
+ "vlan": 1,
+ "asn": 123,
+ "authKey": "aaaa",
+ "amazonAddress": "169.254.0.2/30",
+ "customerAddress": "169.254.0.1/30",
+ "addressFamily": "ipv4",
+ "directConnectGatewayId": "yyyy"
+ }
+
+
+def test_create_public_vi(placeboify, maybe_sleep):
+ client = placeboify.client("directconnect")
+ module = FakeModule(state="present",
+ id_to_associate='dxcon-aaaaaaaa',
+ virtual_interface_id=None,
+ public=True,
+ name="aaaaaaaa",
+ vlan=1,
+ bgp_asn=123,
+ authentication_key="aaaa",
+ customer_address="169.254.0.1/30",
+ amazon_address="169.254.0.2/30",
+ address_type="ipv4",
+ cidr=["10.88.0.0/30"],
+ virtual_gateway_id="xxxx",
+ direct_connect_gateway_id="yyyy")
+ changed, latest_state = directconnect_virtual_interface.ensure_state(client, module)
+ assert changed is True
+ assert latest_state is not None
+
+
+def test_create_private_vi(placeboify, maybe_sleep):
+ client = placeboify.client("directconnect")
+ module = FakeModule(state="present",
+ id_to_associate='dxcon-aaaaaaaa',
+ virtual_interface_id=None,
+ public=False,
+ name="aaaaaaaa",
+ vlan=1,
+ bgp_asn=123,
+ authentication_key="aaaa",
+ customer_address="169.254.0.1/30",
+ amazon_address="169.254.0.2/30",
+ address_type="ipv4",
+ cidr=["10.88.0.0/30"],
+ virtual_gateway_id="xxxx",
+ direct_connect_gateway_id="yyyy")
+ changed, latest_state = directconnect_virtual_interface.ensure_state(client, module)
+ assert changed is True
+ assert latest_state is not None
+
+
+def test_delete_vi(placeboify, maybe_sleep):
+ client = placeboify.client("directconnect")
+ module = FakeModule(state="absent",
+ id_to_associate='dxcon-aaaaaaaa',
+ virtual_interface_id='dxvif-aaaaaaaa',
+ public=False,
+ name="aaaaaaaa",
+ vlan=1,
+ bgp_asn=123,
+ authentication_key="aaaa",
+ customer_address="169.254.0.1/30",
+ amazon_address="169.254.0.2/30",
+ address_type="ipv4",
+ cidr=["10.88.0.0/30"],
+ virtual_gateway_id=None,
+ direct_connect_gateway_id="yyyy")
+ changed, latest_state = directconnect_virtual_interface.ensure_state(client, module)
+ assert changed is True
+ assert latest_state == {}
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/test_ec2_vpc_vpn.py b/ansible_collections/community/aws/tests/unit/plugins/modules/test_ec2_vpc_vpn.py
new file mode 100644
index 000000000..88a1aea83
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/test_ec2_vpc_vpn.py
@@ -0,0 +1,370 @@
+# (c) 2017 Red Hat Inc.
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import os
+import pytest
+
+# Magic... Incorrectly identified by pylint as unused
+from ansible_collections.amazon.aws.tests.unit.utils.amazon_placebo_fixtures import placeboify # pylint: disable=unused-import
+from ansible_collections.amazon.aws.tests.unit.utils.amazon_placebo_fixtures import maybe_sleep # pylint: disable=unused-import
+
+import ansible_collections.amazon.aws.plugins.module_utils.modules as aws_modules
+import ansible_collections.amazon.aws.plugins.module_utils.retries as aws_retries
+from ansible_collections.amazon.aws.plugins.module_utils.ec2 import get_aws_connection_info
+from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_conn
+from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
+
+from ansible_collections.community.aws.plugins.modules import ec2_vpc_vpn
+
+
+class FailException(Exception):
+ pass
+
+
+class FakeModule(object):
+ def __init__(self, **kwargs):
+ self.params = kwargs
+
+ def fail_json_aws(self, *args, **kwargs):
+ self.exit_args = args
+ self.exit_kwargs = kwargs
+ raise FailException('FAIL')
+
+ def fail_json(self, *args, **kwargs):
+ self.exit_args = args
+ self.exit_kwargs = kwargs
+ raise FailException('FAIL')
+
+ def exit_json(self, *args, **kwargs):
+ self.exit_args = args
+ self.exit_kwargs = kwargs
+
+
+def get_vgw(connection):
+ # see if two vgw exist and return them if so
+ vgw = connection.describe_vpn_gateways(Filters=[{'Name': 'tag:Ansible_VPN', 'Values': ['Test']}])
+ if len(vgw['VpnGateways']) >= 2:
+ return [vgw['VpnGateways'][0]['VpnGatewayId'], vgw['VpnGateways'][1]['VpnGatewayId']]
+ # otherwise create two and return them
+ vgw_1 = connection.create_vpn_gateway(Type='ipsec.1')
+ vgw_2 = connection.create_vpn_gateway(Type='ipsec.1')
+ for resource in (vgw_1, vgw_2):
+ connection.create_tags(Resources=[resource['VpnGateway']['VpnGatewayId']], Tags=[{'Key': 'Ansible_VPN', 'Value': 'Test'}])
+ return [vgw_1['VpnGateway']['VpnGatewayId'], vgw_2['VpnGateway']['VpnGatewayId']]
+
+
+def get_cgw(connection):
+ # see if two cgw exist and return them if so
+ cgw = connection.describe_customer_gateways(DryRun=False, Filters=[{'Name': 'state', 'Values': ['available']},
+ {'Name': 'tag:Name', 'Values': ['Ansible-CGW']}])
+ if len(cgw['CustomerGateways']) >= 2:
+ return [cgw['CustomerGateways'][0]['CustomerGatewayId'], cgw['CustomerGateways'][1]['CustomerGatewayId']]
+ # otherwise create and return them
+ cgw_1 = connection.create_customer_gateway(DryRun=False, Type='ipsec.1', PublicIp='9.8.7.6', BgpAsn=65000)
+ cgw_2 = connection.create_customer_gateway(DryRun=False, Type='ipsec.1', PublicIp='5.4.3.2', BgpAsn=65000)
+ for resource in (cgw_1, cgw_2):
+ connection.create_tags(Resources=[resource['CustomerGateway']['CustomerGatewayId']], Tags=[{'Key': 'Ansible-CGW', 'Value': 'Test'}])
+ return [cgw_1['CustomerGateway']['CustomerGatewayId'], cgw_2['CustomerGateway']['CustomerGatewayId']]
+
+
+def get_dependencies():
+ if os.getenv('PLACEBO_RECORD'):
+ module = FakeModule(**{})
+ region, ec2_url, aws_connect_kwargs = get_aws_connection_info(module, boto3=True)
+ connection = boto3_conn(module, conn_type='client', resource='ec2', region=region, endpoint=ec2_url, **aws_connect_kwargs)
+ vgw = get_vgw(connection)
+ cgw = get_cgw(connection)
+ else:
+ vgw = ["vgw-35d70c2b", "vgw-32d70c2c"]
+ cgw = ["cgw-6113c87f", "cgw-9e13c880"]
+
+ return cgw, vgw
+
+
+def setup_mod_conn(placeboify, params):
+ conn = placeboify.client('ec2')
+ retry_decorator = aws_retries.AWSRetry.jittered_backoff()
+ wrapped_conn = aws_modules._RetryingBotoClientWrapper(conn, retry_decorator)
+ m = FakeModule(**params)
+ return m, wrapped_conn
+
+
+def make_params(cgw, vgw, tags=None, filters=None, routes=None):
+ tags = {} if tags is None else tags
+ filters = {} if filters is None else filters
+ routes = [] if routes is None else routes
+
+ return {'customer_gateway_id': cgw,
+ 'static_only': True,
+ 'vpn_gateway_id': vgw,
+ 'connection_type': 'ipsec.1',
+ 'purge_tags': True,
+ 'tags': tags,
+ 'filters': filters,
+ 'routes': routes,
+ 'delay': 15,
+ 'wait_timeout': 600}
+
+
+def make_conn(placeboify, module, connection):
+ customer_gateway_id = module.params['customer_gateway_id']
+ static_only = module.params['static_only']
+ vpn_gateway_id = module.params['vpn_gateway_id']
+ connection_type = module.params['connection_type']
+ changed = True
+ vpn = ec2_vpc_vpn.create_connection(connection, customer_gateway_id, static_only, vpn_gateway_id, connection_type)
+ return changed, vpn
+
+
+def tear_down_conn(placeboify, connection, vpn_connection_id):
+ ec2_vpc_vpn.delete_connection(connection, vpn_connection_id, delay=15, max_attempts=40)
+
+
+def setup_req(placeboify, number_of_results=1):
+ ''' returns dependencies for VPN connections '''
+ assert number_of_results in (1, 2)
+ results = []
+ cgw, vgw = get_dependencies()
+ for each in range(0, number_of_results):
+ params = make_params(cgw[each], vgw[each])
+ m, conn = setup_mod_conn(placeboify, params)
+ vpn = ec2_vpc_vpn.ensure_present(conn, params)[1]
+
+ results.append({'module': m, 'connection': conn, 'vpn': vpn, 'params': params})
+ if number_of_results == 1:
+ return results[0]
+ else:
+ return results[0], results[1]
+
+
+def test_find_connection_vpc_conn_id(placeboify, maybe_sleep):
+ # setup dependencies for 2 vpn connections
+ dependencies = setup_req(placeboify, 2)
+ dep1, dep2 = dependencies[0], dependencies[1]
+ params1, vpn1, _m1, conn1 = dep1['params'], dep1['vpn'], dep1['module'], dep1['connection']
+ _params2, vpn2, _m2, conn2 = dep2['params'], dep2['vpn'], dep2['module'], dep2['connection']
+
+ # find the connection with a vpn_connection_id and assert it is the expected one
+ assert vpn1['VpnConnectionId'] == ec2_vpc_vpn.find_connection(conn1, params1, vpn1['VpnConnectionId'])['VpnConnectionId']
+
+ tear_down_conn(placeboify, conn1, vpn1['VpnConnectionId'])
+ tear_down_conn(placeboify, conn2, vpn2['VpnConnectionId'])
+
+
+def test_find_connection_filters(placeboify, maybe_sleep):
+ # setup dependencies for 2 vpn connections
+ dependencies = setup_req(placeboify, 2)
+ dep1, dep2 = dependencies[0], dependencies[1]
+ params1, vpn1, _m1, conn1 = dep1['params'], dep1['vpn'], dep1['module'], dep1['connection']
+ params2, vpn2, _m2, conn2 = dep2['params'], dep2['vpn'], dep2['module'], dep2['connection']
+
+ # update to different tags
+ params1.update(tags={'Wrong': 'Tag'})
+ params2.update(tags={'Correct': 'Tag'})
+ ec2_vpc_vpn.ensure_present(conn1, params1)
+ ec2_vpc_vpn.ensure_present(conn2, params2)
+
+ # create some new parameters for a filter
+ params = {'filters': {'tags': {'Correct': 'Tag'}}}
+
+ # find the connection that has the parameters above
+ found = ec2_vpc_vpn.find_connection(conn1, params)
+
+ # assert the correct connection was found
+ assert found['VpnConnectionId'] == vpn2['VpnConnectionId']
+
+ # delete the connections
+ tear_down_conn(placeboify, conn1, vpn1['VpnConnectionId'])
+ tear_down_conn(placeboify, conn2, vpn2['VpnConnectionId'])
+
+
+def test_find_connection_insufficient_filters(placeboify, maybe_sleep):
+ # get list of customer gateways and virtual private gateways
+ cgw, vgw = get_dependencies()
+
+ # create two connections with the same tags
+ params = make_params(cgw[0], vgw[0], tags={'Correct': 'Tag'})
+ params2 = make_params(cgw[1], vgw[1], tags={'Correct': 'Tag'})
+ m, conn = setup_mod_conn(placeboify, params)
+ m2, conn2 = setup_mod_conn(placeboify, params2)
+ vpn1 = ec2_vpc_vpn.ensure_present(conn, m.params)[1]
+ vpn2 = ec2_vpc_vpn.ensure_present(conn2, m2.params)[1]
+
+ # reset the parameters so only filtering by tags will occur
+ m.params = {'filters': {'tags': {'Correct': 'Tag'}}}
+
+ expected_message = "More than one matching VPN connection was found"
+ # assert that multiple matching connections have been found
+ with pytest.raises(ec2_vpc_vpn.VPNConnectionException, match=expected_message):
+ ec2_vpc_vpn.find_connection(conn, m.params)
+
+ # delete the connections
+ tear_down_conn(placeboify, conn, vpn1['VpnConnectionId'])
+ tear_down_conn(placeboify, conn, vpn2['VpnConnectionId'])
+
+
+def test_find_connection_nonexistent(placeboify, maybe_sleep):
+ # create parameters but don't create a connection with them
+ params = {'filters': {'tags': {'Correct': 'Tag'}}}
+ m, conn = setup_mod_conn(placeboify, params)
+
+ # try to find a connection with matching parameters and assert None are found
+ assert ec2_vpc_vpn.find_connection(conn, m.params) is None
+
+
+def test_create_connection(placeboify, maybe_sleep):
+ # get list of customer gateways and virtual private gateways
+ cgw, vgw = get_dependencies()
+
+ # create a connection
+ params = make_params(cgw[0], vgw[0])
+ m, conn = setup_mod_conn(placeboify, params)
+ changed, vpn = ec2_vpc_vpn.ensure_present(conn, m.params)
+
+ # assert that changed is true and that there is a connection id
+ assert changed is True
+ assert 'VpnConnectionId' in vpn
+
+ # delete connection
+ tear_down_conn(placeboify, conn, vpn['VpnConnectionId'])
+
+
+def test_create_connection_that_exists(placeboify, maybe_sleep):
+ # setup dependencies for 1 vpn connection
+ dependencies = setup_req(placeboify, 1)
+ params, vpn, _m, conn = dependencies['params'], dependencies['vpn'], dependencies['module'], dependencies['connection']
+
+ # try to recreate the same connection
+ changed, vpn2 = ec2_vpc_vpn.ensure_present(conn, params)
+
+ # nothing should have changed
+ assert changed is False
+ assert vpn['VpnConnectionId'] == vpn2['VpnConnectionId']
+
+ # delete connection
+ tear_down_conn(placeboify, conn, vpn['VpnConnectionId'])
+
+
+def test_modify_deleted_connection(placeboify, maybe_sleep):
+ # setup dependencies for 1 vpn connection
+ dependencies = setup_req(placeboify, 1)
+ _params, vpn, m, conn = dependencies['params'], dependencies['vpn'], dependencies['module'], dependencies['connection']
+
+ # delete it
+ tear_down_conn(placeboify, conn, vpn['VpnConnectionId'])
+
+ # try to update the deleted connection
+ m.params.update(vpn_connection_id=vpn['VpnConnectionId'])
+ expected_message = "no VPN connection available or pending with that id"
+ with pytest.raises(ec2_vpc_vpn.VPNConnectionException, match=expected_message):
+ ec2_vpc_vpn.ensure_present(conn, m.params)
+
+
+def test_delete_connection(placeboify, maybe_sleep):
+ # setup dependencies for 1 vpn connection
+ dependencies = setup_req(placeboify, 1)
+ _params, vpn, m, conn = dependencies['params'], dependencies['vpn'], dependencies['module'], dependencies['connection']
+
+ # delete it
+ changed, vpn = ec2_vpc_vpn.ensure_absent(conn, m.params)
+
+ assert changed is True
+ assert vpn == {}
+
+
+def test_delete_nonexistent_connection(placeboify, maybe_sleep):
+ # create parameters and ensure any connection matching (None) is deleted
+ params = {'filters': {'tags': {'ThisConnection': 'DoesntExist'}}, 'delay': 15, 'wait_timeout': 600}
+ m, conn = setup_mod_conn(placeboify, params)
+ changed, vpn = ec2_vpc_vpn.ensure_absent(conn, m.params)
+
+ assert changed is False
+ assert vpn == {}
+
+
+def test_check_for_update_tags(placeboify, maybe_sleep):
+ # setup dependencies for 1 vpn connection
+ dependencies = setup_req(placeboify, 1)
+ _params, vpn, m, conn = dependencies['params'], dependencies['vpn'], dependencies['module'], dependencies['connection']
+
+ # add and remove a number of tags
+ m.params['tags'] = {'One': 'one', 'Two': 'two'}
+ ec2_vpc_vpn.ensure_present(conn, m.params)
+ m.params['tags'] = {'Two': 'two', 'Three': 'three', 'Four': 'four'}
+ changes = ec2_vpc_vpn.check_for_update(conn, m.params, vpn['VpnConnectionId'])
+
+ flat_dict_changes = boto3_tag_list_to_ansible_dict(changes['tags_to_add'])
+ correct_changes = boto3_tag_list_to_ansible_dict([{'Key': 'Three', 'Value': 'three'}, {'Key': 'Four', 'Value': 'four'}])
+ assert flat_dict_changes == correct_changes
+ assert changes['tags_to_remove'] == ['One']
+
+ # delete connection
+ tear_down_conn(placeboify, conn, vpn['VpnConnectionId'])
+
+
+def test_check_for_update_nonmodifiable_attr(placeboify, maybe_sleep):
+ # setup dependencies for 1 vpn connection
+ dependencies = setup_req(placeboify, 1)
+ params, vpn, m, conn = dependencies['params'], dependencies['vpn'], dependencies['module'], dependencies['connection']
+ current_vgw = params['vpn_gateway_id']
+
+ # update a parameter that isn't modifiable
+ m.params.update(vpn_gateway_id="invalidchange")
+
+ expected_message = 'You cannot modify vpn_gateway_id, the current value of which is {0}. Modifiable VPN connection attributes are'.format(current_vgw)
+ with pytest.raises(ec2_vpc_vpn.VPNConnectionException, match=expected_message):
+ ec2_vpc_vpn.check_for_update(conn, m.params, vpn['VpnConnectionId'])
+
+ # delete connection
+ tear_down_conn(placeboify, conn, vpn['VpnConnectionId'])
+
+
+def test_add_tags(placeboify, maybe_sleep):
+ # setup dependencies for 1 vpn connection
+ dependencies = setup_req(placeboify, 1)
+ params, vpn, _m, conn = dependencies['params'], dependencies['vpn'], dependencies['module'], dependencies['connection']
+
+ # add a tag to the connection
+ ec2_vpc_vpn.add_tags(conn, vpn['VpnConnectionId'], add=[{'Key': 'Ansible-Test', 'Value': 'VPN'}])
+
+ # assert tag is there
+ current_vpn = ec2_vpc_vpn.find_connection(conn, params)
+ assert current_vpn['Tags'] == [{'Key': 'Ansible-Test', 'Value': 'VPN'}]
+
+ # delete connection
+ tear_down_conn(placeboify, conn, vpn['VpnConnectionId'])
+
+
+def test_remove_tags(placeboify, maybe_sleep):
+ # setup dependencies for 1 vpn connection
+ dependencies = setup_req(placeboify, 1)
+ params, vpn, _m, conn = dependencies['params'], dependencies['vpn'], dependencies['module'], dependencies['connection']
+
+ # remove a tag from the connection
+ ec2_vpc_vpn.remove_tags(conn, vpn['VpnConnectionId'], remove=['Ansible-Test'])
+
+ # assert the tag is gone
+ current_vpn = ec2_vpc_vpn.find_connection(conn, params)
+ assert 'Tags' not in current_vpn
+
+ # delete connection
+ tear_down_conn(placeboify, conn, vpn['VpnConnectionId'])
+
+
+def test_add_routes(placeboify, maybe_sleep):
+ # setup dependencies for 1 vpn connection
+ dependencies = setup_req(placeboify, 1)
+ params, vpn, _m, conn = dependencies['params'], dependencies['vpn'], dependencies['module'], dependencies['connection']
+
+ # create connection with a route
+ ec2_vpc_vpn.add_routes(conn, vpn['VpnConnectionId'], ['195.168.2.0/24', '196.168.2.0/24'])
+
+ # assert both routes are there
+ current_vpn = ec2_vpc_vpn.find_connection(conn, params)
+ assert set(each['DestinationCidrBlock'] for each in current_vpn['Routes']) == set(['195.168.2.0/24', '196.168.2.0/24'])
+
+ # delete connection
+ tear_down_conn(placeboify, conn, vpn['VpnConnectionId'])
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/test_ec2_win_password.py b/ansible_collections/community/aws/tests/unit/plugins/modules/test_ec2_win_password.py
new file mode 100644
index 000000000..939620120
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/test_ec2_win_password.py
@@ -0,0 +1,76 @@
+from __future__ import (absolute_import, division, print_function)
+
+__metaclass__ = type
+
+'''
+Commands to encrypt a message that can be decrypted:
+from cryptography.hazmat.backends import default_backend
+from cryptography.hazmat.primitives.serialization import load_pem_private_key
+from cryptography.hazmat.primitives.asymmetric.padding import PKCS1v15
+import base64
+
+path = '/path/to/rsa_public_key.pem'
+with open(path, 'r') as f:
+ rsa_public_key_pem = to_text(f.read())
+load_pem_public_key(rsa_public_key_pem = , default_backend())
+base64_cipher = public_key.encrypt('Ansible_AWS_EC2_Win_Password', PKCS1v15())
+string_cipher = base64.b64encode(base64_cipher)
+'''
+
+import datetime
+import pytest
+
+from ansible.module_utils._text import to_bytes
+from ansible.module_utils._text import to_text
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import HAS_BOTO3
+
+from ansible_collections.community.aws.tests.unit.compat.mock import patch
+from ansible_collections.community.aws.tests.unit.plugins.modules.utils import AnsibleExitJson
+from ansible_collections.community.aws.tests.unit.plugins.modules.utils import ModuleTestCase
+from ansible_collections.community.aws.tests.unit.plugins.modules.utils import set_module_args
+
+from ansible_collections.community.aws.plugins.modules.ec2_win_password import setup_module_object
+from ansible_collections.community.aws.plugins.modules.ec2_win_password import ec2_win_password
+
+fixture_prefix = 'tests/unit/plugins/modules/fixtures/certs'
+
+if not HAS_BOTO3:
+ pytestmark = pytest.mark.skip("test_api_gateway.py requires the `boto3` and `botocore` modules")
+
+
+class TestEc2WinPasswordModule(ModuleTestCase):
+
+ # Future: It would be good to generate this data on the fly and use a
+ # temporary certificate and password.
+ PEM_PATH = fixture_prefix + '/ec2_win_password.pem'
+ UNENCRYPTED_DATA = 'Ansible_AWS_EC2_Win_Password'
+ ENCRYPTED_DATA = 'L2k1iFiu/TRrjGr6Rwco/T3C7xkWxUw4+YPYpGGOmP3KDdy3hT1' \
+ '8RvdDJ2i0e+y7wUcH43DwbRYSlkSyALY/nzjSV9R5NChUyVs3W5' \
+ '5oiVuyTKsk0lor8dFJ9z9unq14tScZHvyQ3Nx1ggOtS18S9Pk55q' \
+ 'IaCXfx26ucH76VRho='
+ INSTANCE_ID = 'i-12345'
+
+ @patch('ansible_collections.community.aws.plugins.modules.s3_bucket_notification.AnsibleAWSModule.client')
+ def test_decryption(self, mock_client):
+
+ path = self.PEM_PATH
+ with open(path, 'r') as f:
+ pem = to_text(f.read())
+
+ with self.assertRaises(AnsibleExitJson) as exec_info:
+ set_module_args({'instance_id': self.INSTANCE_ID,
+ 'key_data': pem,
+ })
+ module = setup_module_object()
+ mock_client().get_password_data.return_value = {
+ 'InstanceId': self.INSTANCE_ID,
+ 'PasswordData': self.ENCRYPTED_DATA,
+ 'Timestamp': datetime.datetime.now(),
+ }
+ ec2_win_password(module)
+
+ self.assertEqual(
+ exec_info.exception.args[0]['win_password'],
+ to_bytes(self.UNENCRYPTED_DATA),
+ )
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/test_iam_password_policy.py b/ansible_collections/community/aws/tests/unit/plugins/modules/test_iam_password_policy.py
new file mode 100644
index 000000000..11de7f477
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/test_iam_password_policy.py
@@ -0,0 +1,30 @@
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import json
+import pytest
+
+from ansible_collections.community.aws.tests.unit.plugins.modules.utils import set_module_args
+
+from ansible_collections.community.aws.plugins.modules import iam_password_policy
+
+
+def test_warn_if_state_not_specified(capsys):
+ set_module_args({
+ "min_pw_length": "8",
+ "require_symbols": "false",
+ "require_numbers": "true",
+ "require_uppercase": "true",
+ "require_lowercase": "true",
+ "allow_pw_change": "true",
+ "pw_max_age": "60",
+ "pw_reuse_prevent": "5",
+ "pw_expire": "false"
+ })
+ with pytest.raises(SystemExit):
+ iam_password_policy.main()
+ captured = capsys.readouterr()
+
+ output = json.loads(captured.out)
+ assert 'missing required arguments' in output.get('msg', '')
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/test_opensearch.py b/ansible_collections/community/aws/tests/unit/plugins/modules/test_opensearch.py
new file mode 100644
index 000000000..836e2cf07
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/test_opensearch.py
@@ -0,0 +1,86 @@
+# Copyright: Ansible Project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import functools
+from ansible_collections.community.aws.plugins.module_utils.opensearch import (
+ compare_domain_versions,
+ parse_version,
+)
+
+
+def test_parse_version():
+ test_versions = [
+ ['Elasticsearch_5.5', {'engine_type': 'Elasticsearch', 'major': 5, 'minor': 5}],
+ ['Elasticsearch_7.1', {'engine_type': 'Elasticsearch', 'major': 7, 'minor': 1}],
+ ['Elasticsearch_7.10', {'engine_type': 'Elasticsearch', 'major': 7, 'minor': 10}],
+ ['OpenSearch_1.0', {'engine_type': 'OpenSearch', 'major': 1, 'minor': 0}],
+ ['OpenSearch_1.1', {'engine_type': 'OpenSearch', 'major': 1, 'minor': 1}],
+ ['OpenSearch_a.b', None],
+ ['OpenSearch_1.b', None],
+ ['OpenSearch_1-1', None],
+ ['OpenSearch_1.1.2', None],
+ ['OpenSearch_foo_1.1', None],
+ ['OpenSearch_1', None],
+ ['OpenSearch-1.0', None],
+ ['Foo_1.0', None],
+ ]
+ for expected in test_versions:
+ ret = parse_version(expected[0])
+ if ret != expected[1]:
+ raise AssertionError(
+ f"parse_version({expected[0]} returned {ret}, expected {expected[1]}")
+
+
+def test_version_compare():
+ test_versions = [
+ ['Elasticsearch_5.5', 'Elasticsearch_5.5', 0],
+ ['Elasticsearch_5.5', 'Elasticsearch_7.1', -1],
+ ['Elasticsearch_7.1', 'Elasticsearch_7.1', 0],
+ ['Elasticsearch_7.1', 'Elasticsearch_7.2', -1],
+ ['Elasticsearch_7.1', 'Elasticsearch_7.10', -1],
+ ['Elasticsearch_7.2', 'Elasticsearch_7.10', -1],
+ ['Elasticsearch_7.10', 'Elasticsearch_7.2', 1],
+ ['Elasticsearch_7.2', 'Elasticsearch_5.5', 1],
+ ['Elasticsearch_7.2', 'OpenSearch_1.0', -1],
+ ['Elasticsearch_7.2', 'OpenSearch_1.1', -1],
+ ['OpenSearch_1.1', 'OpenSearch_1.1', 0],
+ ['OpenSearch_1.0', 'OpenSearch_1.1', -1],
+ ['OpenSearch_1.1', 'OpenSearch_1.0', 1],
+ ['foo_1.1', 'OpenSearch_1.0', -1],
+ ['Elasticsearch_5.5', 'foo_1.0', 1],
+ ]
+ for v in test_versions:
+ ret = compare_domain_versions(v[0], v[1])
+ if ret != v[2]:
+ raise AssertionError(
+ f"compare({v[0]}, {v[1]} returned {ret}, expected {v[2]}")
+
+
+def test_sort_versions():
+ input_versions = [
+ 'Elasticsearch_5.6',
+ 'Elasticsearch_5.5',
+ 'Elasticsearch_7.10',
+ 'Elasticsearch_7.2',
+ 'foo_10.5',
+ 'OpenSearch_1.1',
+ 'OpenSearch_1.0',
+ 'Elasticsearch_7.3',
+ ]
+ expected_versions = [
+ 'foo_10.5',
+ 'Elasticsearch_5.5',
+ 'Elasticsearch_5.6',
+ 'Elasticsearch_7.2',
+ 'Elasticsearch_7.3',
+ 'Elasticsearch_7.10',
+ 'OpenSearch_1.0',
+ 'OpenSearch_1.1',
+ ]
+ input_versions = sorted(input_versions, key=functools.cmp_to_key(compare_domain_versions))
+ if input_versions != expected_versions:
+ raise AssertionError(
+ f"Expected {expected_versions}, got {input_versions}")
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/test_redshift_cross_region_snapshots.py b/ansible_collections/community/aws/tests/unit/plugins/modules/test_redshift_cross_region_snapshots.py
new file mode 100644
index 000000000..7b22d5b00
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/test_redshift_cross_region_snapshots.py
@@ -0,0 +1,52 @@
+# Make coding more python3-ish
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+from ansible_collections.community.aws.plugins.modules import redshift_cross_region_snapshots as rcrs
+
+mock_status_enabled = {
+ 'SnapshotCopyGrantName': 'snapshot-us-east-1-to-us-west-2',
+ 'DestinationRegion': 'us-west-2',
+ 'RetentionPeriod': 1,
+}
+
+mock_status_disabled = {}
+
+mock_request_illegal = {
+ 'snapshot_copy_grant': 'changed',
+ 'destination_region': 'us-west-2',
+ 'snapshot_retention_period': 1
+}
+
+mock_request_update = {
+ 'snapshot_copy_grant': 'snapshot-us-east-1-to-us-west-2',
+ 'destination_region': 'us-west-2',
+ 'snapshot_retention_period': 3
+}
+
+mock_request_no_update = {
+ 'snapshot_copy_grant': 'snapshot-us-east-1-to-us-west-2',
+ 'destination_region': 'us-west-2',
+ 'snapshot_retention_period': 1
+}
+
+
+def test_fail_at_unsupported_operations():
+ response = rcrs.requesting_unsupported_modifications(
+ mock_status_enabled, mock_request_illegal
+ )
+ assert response is True
+
+
+def test_needs_update_true():
+ response = rcrs.needs_update(mock_status_enabled, mock_request_update)
+ assert response is True
+
+
+def test_no_change():
+ response = rcrs.requesting_unsupported_modifications(
+ mock_status_enabled, mock_request_no_update
+ )
+ needs_update_response = rcrs.needs_update(mock_status_enabled, mock_request_no_update)
+ assert response is False
+ assert needs_update_response is False
diff --git a/ansible_collections/community/aws/tests/unit/plugins/modules/utils.py b/ansible_collections/community/aws/tests/unit/plugins/modules/utils.py
new file mode 100644
index 000000000..026bf2549
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/plugins/modules/utils.py
@@ -0,0 +1,52 @@
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+import json
+
+from ansible_collections.community.aws.tests.unit.compat import unittest
+from ansible_collections.community.aws.tests.unit.compat.mock import patch
+from ansible.module_utils import basic
+from ansible.module_utils._text import to_bytes
+
+
+def set_module_args(args):
+ if '_ansible_remote_tmp' not in args:
+ args['_ansible_remote_tmp'] = '/tmp'
+ if '_ansible_keep_remote_files' not in args:
+ args['_ansible_keep_remote_files'] = False
+
+ args = json.dumps({'ANSIBLE_MODULE_ARGS': args})
+ basic._ANSIBLE_ARGS = to_bytes(args)
+
+
+class AnsibleExitJson(Exception):
+ pass
+
+
+class AnsibleFailJson(Exception):
+ pass
+
+
+def exit_json(*args, **kwargs):
+ if 'changed' not in kwargs:
+ kwargs['changed'] = False
+ raise AnsibleExitJson(kwargs)
+
+
+def fail_json(*args, **kwargs):
+ kwargs['failed'] = True
+ raise AnsibleFailJson(kwargs)
+
+
+class ModuleTestCase(unittest.TestCase):
+
+ def setUp(self):
+ self.mock_module = patch.multiple(basic.AnsibleModule, exit_json=exit_json, fail_json=fail_json)
+ self.mock_module.start()
+ self.mock_sleep = patch('time.sleep')
+ self.mock_sleep.start()
+ set_module_args({})
+ self.addCleanup(self.mock_module.stop)
+ self.addCleanup(self.mock_sleep.stop)
diff --git a/ansible_collections/community/aws/tests/unit/requirements.txt b/ansible_collections/community/aws/tests/unit/requirements.txt
new file mode 100644
index 000000000..f4f3ad27f
--- /dev/null
+++ b/ansible_collections/community/aws/tests/unit/requirements.txt
@@ -0,0 +1,6 @@
+# Our code is based on the AWS SDKs
+botocore
+boto3
+
+placebo
+cryptography