Commit graph

1555 commits

Author SHA1 Message Date
Ryan Brown
1118e441e9 [aws] lambda_policy: Remove spurious definition of policy variable (#41693) 2018-06-19 14:30:04 -04:00
Ryan Brown
fd8cc775a7 [aws] Simplify conditional in iam_cert module (#41691) 2018-06-19 14:28:43 -04:00
Ryan S. Brown
52acec3455 [aws] Remove double-defined variable from iam_policy module 2018-06-19 11:50:16 -04:00
Ryan S. Brown
a5ec29ed49 Fix exception message in AWS lambda module 2018-06-19 10:11:14 -04:00
Ryan Brown
7dcaef8115
Fix aws_config_aggregator argument count error (#41686) 2018-06-19 08:48:46 -04:00
Deepakkothandan
5a72eef0a3 [ecs_service] fix assign_public ip for network configuration (#41685)
* fix assign_public ip for ecs_service

* used module.botocore_at_least instead of distutils
2018-06-19 08:46:40 -04:00
Kristian Østergaard Martensen
d8fc027db5 [docs] Include "_facts" in module examples section (#41680)
The example says module name: "cloudwatchlogs_log_group"
where it should say: "cloudwatchlogs_log_group_facts"

+label: docsite_pr
2018-06-19 08:25:24 -04:00
Jon Dufresne
bf304832ff Prefer readthedocs.io instead of readthedocs.org for doc links (#41537)
Read the Docs moved hosting to readthedocs.io instead of
readthedocs.org. Fix all links in the project.

For additional details, see:

https://blog.readthedocs.com/securing-subdomains/

> Starting today, Read the Docs will start hosting projects from
> subdomains on the domain readthedocs.io, instead of on
> readthedocs.org. This change addresses some security concerns around
> site cookies while hosting user generated data on the same domain as
> our dashboard.
2018-06-18 08:22:50 -04:00
Sloane Hertel
40d2df0ef3 Add AWS boto3 error code exception function is_boto3_error_code (#41202)
* Add aws/core.py function to check for specific AWS error codes

* Use sys.exc_info to get exception object if it isn't passed in

* Allow catching exceptions with is_boto3_error_code

* Replace from_code with is_boto3_error_code

* Return a type that will never be raised to support stricter type comparisons in Python 3+

* Use is_boto3_error_code in aws_eks_cluster

* Add duplicate-except to ignores when using is_boto3_error_code

* Add is_boto3_error_code to module development guideline docs
2018-06-12 12:15:16 -04:00
Christian Groschupp
e59742eccd [aws] Remove walrus conditional in aws_s3 module when using custom s3_url (#36832)
fix aws_s3 module to use custum s3_url.
2018-06-07 15:07:52 -04:00
Will Thames
46886f8249 Improve aws_s3 permission handling for non S3 (#38574)
* Test case for missing permissions

* Update aws_s3 module to latest standards

* Use AnsibleAWSModule
* Handle BotoCoreErrors properly
* Test for BotoCoreErrors
* Check for XNotImplemented exceptions (#38569)

* Don't prematurely fail if user does not have s3:GetObject permission

* Allow S3 drop-ins to ignore put_object_acl and put_bucket_acl
2018-06-07 13:13:10 -04:00
Will Thames
b235cb8734 aws_eks_cluster: New module for managing AWS EKS (#41183)
* aws_eks: New module for managing AWS EKS

aws_eks module is used for creating and removing EKS clusters.

Includes full test suite and updates to IAM policies to enable it.

* Clean up all security groups

* appease shippable

* Rename aws_eks module to aws_eks_cluster
2018-06-07 08:44:04 -04:00
Brandon W Maister
453a6f4047 Improve error message if policy_document does not exist (#40094) 2018-06-06 16:55:20 -04:00
Abhishek Garg
0512e9656b [aws] Doc fix for aws_ses_identity (#41194)
Examples have a typo of ses_identity instead of aws_ses_identity. Fixed that and proposing these changes here.

+label: docsite_pr
2018-06-06 16:10:20 -04:00
Will Thames
f61164406e [aws] Support custom KMS keys in aws_s3 module (#35761)
* Allow the use of 'aws:kms' as an encryption method
* Allow the use of a non standard KMS key
* Deduce whether AWS Signature Version 4 is required rather than specifying with a parameter
2018-06-06 11:22:52 -04:00
René Moser
146cc2dd9c
cloudwatchevent_rule: doc: fix schedule_expression in example (#41138) 2018-06-06 16:54:09 +02:00
Will Thames
a60fe1946c Remove ECS policies from AWS compute policy
The compute policy was exceeding maximum size and contained
policies that already exist in ecs-policy.

Look up suitable AMIs rather than hardcode

We don't want to maintain multiple image IDs for multiple regions
so use ec2_ami_facts to set a suitable image ID

Improve exception handling
2018-06-06 20:51:50 +10:00
Michael Mayer
fbcd6f8a65 Add Fargate support for ECS modules
Fargate instances do not require memory and cpu descriptors. EC2 instances
 do require descriptions. https://botocore.readthedocs.io/en/latest/reference/services/ecs.html#ECS.Client.describe_task_definition

Fargate requires that cpu and memory be defined at task definition level.
EC2 launch requires them to be defined at the container level.

Fargate requires the use of awsvpc for the networking_mode. Also updated,
the documentation regarding where and when memory/cpu needs to the assigned.

The task_definition variable for the awspvc configuration colided with
the ecs_service for the bridge network. This would cause the test to fail.

Add testing for fargate

Add examples for fargate and ec2
2018-06-06 20:51:50 +10:00
Jon Steinich
8eb9cc3217 add launchType to ecs_service per #35607
update ecs_taskdefinition to support fargate tasks per #35607
2018-06-06 20:51:50 +10:00
Tine Jozelj
ab96a84154 Fix ec2_ami block_device_mapping volume_size to be int in 2.5 (#40938)
* fix ec2_ami block_device_mapping size to be int

* fixed cr issues

renamed `type` to `attribute_type`
reused `new_item` instead of creating new variable `value`
2018-06-04 10:03:59 -04:00
Ryan Brown
7f8654d586 Add minimum botocore and boto3 checking to AnsibleAWSModule (#41005)
* Add minimum botocore and boto3 checking to AnsibleAWSModule
2018-06-01 18:45:22 -04:00
René Moser
4006f1ba40 ec2_lc: fix state doc matching arg_spec (#40792)
* ec2_lc: fix state doc matching arg_spec

* Remove unused variable
2018-05-30 09:34:23 -04:00
Ed Costello
c4536bc827 Support check mode in aws_ses_identity module (#38422)
* Port aws_ses_identity module to use AnsibleAWSModule

* Support Check Mode in aws_ses_identity

* Add tests for check mode

* Move feedback forwarding parameter check to before any changes are made.
2018-05-25 18:46:25 -04:00
ossark
90aa68be41 Fixes #38484 (#38522)
* Fixes #38484

* Makes asn optional
2018-05-25 14:17:18 -04:00
Sloane Hertel
9d30434b6c
ec2_ami_facts: return images in a consistent order (#40679)
* ec2_ami_facts: return images in a consistent order
2018-05-25 14:10:33 -04:00
Rob
38c13259b3 [AWS] New module: aws_glue_job (#39493)
* New module - glue_job

* Review fixes
2018-05-25 13:12:39 -04:00
Rob
1b45a755a2 [AWS] Add helpful failure message when using wrong lb module (#40433)
Remove the default empty dict parameter for tags.
2018-05-25 13:10:39 -04:00
Moritz Grimm
f16ec4e64c [AWS] Add check for empty values in elasticache module - fixes #40063 (#40454) 2018-05-25 13:09:11 -04:00
Rob
858f0fc000 New module: AWS Network load balancer (#33808)
* New module - elb_network_lb

* Fix creating a load balancer without tags

* Linter

Fix purging tags

Remove extra imports

* add support for cross zone lb, doc update and fix tagging

* pep8 fixes

* Add integration tests for elb_network_lb module

* more pep8

* Remove non-applicable option for NLBs

* fix target protocol

* pep8
2018-05-24 16:38:34 -04:00
Ryan Brown
046561bbb0 Split AWS Config modules (#40111)
* Adding module for AWS Config service

* adding integration tests

* Split resource types into their own modules

* Properly use resource_prefix and retry on IAM "eventual consistency"

* Add config aggregator module

* AWS config aggregator integration test fixes

* AWS config recorder module

* Config aggregation auth rule

* Use resource_prefix in IAM role name

* Disable config tests
2018-05-24 15:52:41 -04:00
Sloane Hertel
a90342ac33 ec2_vpc_net: fix hanging waiter when using host bits in a CIDR block (#40622)
* ec2_vpc_net: fix hanging waiter when using hostbits in a CIDR block

* remove extra line
2018-05-24 15:51:23 -04:00
Ryan Brown
858a1b09bb EC2_group module refactor (formerly pr/37255) (#38678)
* Refactor ec2_group

Replace nested for loops with list comprehensions

Purge rules before adding new ones in case sg has maximum permitted rules

* Add check mode tests for ec2_group

* add tests

* Remove dead code

* Fix integration test assertions for old boto versions

* Add waiter for security group that is autocreated

* Add support for in-account group rules

* Add common util to get AWS account ID

Fixes #31383

* Fix protocol number and add separate tests for egress rule handling

* Return egress rule treatment to be backwards compatible

* Remove functions that were obsoleted by `Rule` namedtuple

* IP tests

* Move description updates to a function

* Fix string formatting missing index

* Add tests for auto-creation of the same group in quick succession

* Resolve use of brand-new group in a rule without a description

* Clean up duplicated get-security-group function

* Add reverse cleanup in case of dependency issues

* Add crossaccount ELB group support

* Deal with non-STS calls to account API

* Add filtering of owner IDs that match the current account
2018-05-24 11:53:21 -04:00
Rob
49f569d915 New module: AWS Glue connection (#39492)
* New module = AWS Glue connection

* Add a few initial integration tests

* Add alias for CI

* module rename

* finish module rename

* add loop when getting glue connection again so we dont get None

* Limit number of retries to get new glue connection info
2018-05-24 11:35:24 -04:00
saydamir
8666c08327 ec2_instance - fix instance creation with IPv6 (#40334)
IPv6 addresses and IPv6 address count may not be specified on the same request https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-ipv6-addresses.html#options
2018-05-24 10:10:55 -04:00
Ryan Brown
ae49f4fd35 Coerce VPC tags from to string types to prevent spurious changed (#40422)
* Coerce VPC tags from to string types to prevent spurious `changed`

* Remove dict comprehension for 2.6 compatibility
2018-05-23 10:17:34 -04:00
Matt Clay
8deced3e04
Fix shebangs and file modes and update tests. (#40563)
* Add execute bit sanity test and apply fixes.
* Add shebang test for `lib` dirs and apply fixes.
* Shebang and execute bit cleanup.
2018-05-22 14:25:36 -07:00
Ryan Brown
858b1c277b
[docs] Update ec2 module to use wait_for_connection instead of wait_for (#40171) 2018-05-22 11:21:04 -04:00
Ben Berry
6a4f3fb729 S3 versioned lifecycle (#40161)
* - add tests for s3_lifecycle
- fix a bug comparing transitions with different storage_types

* make s3_lifecycle work with boto3

* add noncurrent version lifecycle rules
2018-05-17 15:07:40 -04:00
Sloane Hertel
571c183f59
Fix failing aws_ses_identity integration tests (#39560)
* Fix failing aws_ses_identity integration tests

Reduce boilerplate with yaml anchor

* remove unstable test alias

* Update feedback forwarding check to use desired state rather than
repeated API calls.
2018-05-17 13:45:02 -04:00
Will Thames
57c801c34f RDS: split into more sensible modules
RDS instance and snapshot facts modules
Move common code into module_utils/rds.py

This work is a precursor to new rds_snapshot
and rds_instance modules

Improve rds_snapshot_facts to latest AWS standards

Improve exception handling, pagination etc.

Version added

Add clustered snapshot facts

Add proper RETURN information for snapshots and cluster_snapshots

pep8

Co-authored-by: Michael De La Rue <jababubic.margoteen@spamgourmet.com>
2018-05-16 22:48:57 -04:00
Will Thames
42368ce310 rds_instance_facts module
Create rds_instance_facts module using boto3.

Create common rds.py module_util library to be used by
rds_instance_facts and future RDS modules.

rds_instance_facts: use latest AWS helper methods

* Use `module.client` with `retry` to create AWS connection
* Return tags, using AWSRetry helper to backoff
* Use paginator to describe DB instances
* Further improve exception handling
* Fix RETURN documentation

update version_added

Co-authored-by: Michael De La Rue <jababubic.margoteen@spamgourmet.com>
2018-05-16 22:21:47 -04:00
Ryan Brown
ede47910f8 Add better handling for errors causing integration test instability (#40184)
* Add better handling for errors causing integration test instability
2018-05-15 15:31:19 -04:00
Madhura-CSI
b85970b2b0 New Module: ec2_vpc_vpn_facts (#35983)
* New module: ec2_vpc_vpn_facts

* Add integration tests for ec2_vpc_vpn_facts and the IAM permissions

* Add retry to VPC removal

* Use unique name for VGW

* Always clean up after tests and add retries
2018-05-15 12:13:46 -04:00
Ramki Subramanian
3955e528b1 ec2_ami_copy: add tag_equality option for idempotence using tags (#40088)
* Allow idempotent use of ec2_ami_copy

When `tag_equality` is set true, use tags to determine
if AMIs in different accounts are the same, and don't
copy the AMI twice if they are the same.

Use AnsibleAWSModule and make imports more consistent
with other modules

* Update version added

* More code review changes

* Review changes - Recommended way to start EC2 connection
2018-05-14 15:11:48 -04:00
znantho
fff7915faa [aws][doc] Update documentation for wait_timeout option (#39875)
Based on the documentation, 'wait_timeout' is 'Used in conjunction with instance_ids option'.  This lead me to believe that I could not use this parameter to try and solve the 'Waited too long for ELB instances to be healthy' error I was experiencing.
2018-05-11 07:44:46 -07:00
Rob
b5cffe8ced [aws] Create classes for Application Load Balancer (#33769)
* Create classes for Application Load Balancer
* Add unsupported CI alias
* Add AWSRetry
* Add integration tests using the ALB
2018-05-04 16:22:00 -04:00
Julien Vey
a6d5656dd8 ec2_instance: add a retry to run_instance to help with ec2 consistency 2018-05-03 15:46:15 -04:00
Julien PRIGENT
1905a6e8fb ec2_vpc_route_table: Update matching_count parsing on find_subnets fu… (#38707)
* ec2_vpc_route_table: Update matching_count parsing on find_subnets function and tests

* ec2_vpc_route_table: Update matching_count parsing on find_subnets function
2018-05-03 15:05:24 -04:00
Sloane Hertel
923f676836
[ec2_vpc_vgw] [ec2_vpc_vpn] stabilize modules for PR 35983 (#38666)
* Stabilize ec2_vpc_vgw and ec2_vpc_vpn so tests for ec2_vpc_vpn_facts in PR 35983 can be run in CI

* Add updated placebo recordings

* ensure find_vgw uses the virtual gateway id if available

Add AWSRetry.jittered_backoff to attach_vpn_gateway to deal with errors when attaching a new VPC directly after detaching

Add integrations tests for ec2_vpc_vgw

* Sort VPN Gateways by ID
2018-05-03 14:19:19 -04:00
Sloane Hertel
151f9d2ebf [cloud] aws_direct_connect_connection: improve return docs (#37677)
Fixes #29381

Fix uses of AWSRetry

Fix exception handling

Update module to use AnsibleAWSModule
2018-05-03 08:45:38 -04:00