Commit Graph

1381 Commits (45f5964fed9d81821d2c90e3e7466a16cbfe48d0)

Author SHA1 Message Date
Calvin Wu 7e42e88cc1 ecs_taskdefinition can absent without containers argument (#41398)
* ecs_taskdefinition can absent without containers argument

* add regression test for absent with arn

* Add PassRole privilege for ecs_cluster to pass
2018-07-12 23:16:41 +10:00
Ryan Brown e4c28571d0 Update to AnsibleAWSModule and remove now-duplicate fail_json_aws function (#42629) 2018-07-12 22:52:28 +10:00
Sloane Hertel 7086863c52 [s3_bucket] import urlparse (#42474) 2018-07-11 12:40:45 -04:00
Grzegorz Śliwiński d6f20952fe Fix ec2_asg metric* option's version introduction - refs #25168 (#42626)
Introduced in 404f9260d9 during 2.6, so version_added: 2.5 was incorrect.
2018-07-11 10:57:11 -04:00
Toshio Kuratomi 9350a81ae4 Port modules away from __file__
* __file__ won't work if we want to invoke modules via -m or if we
  figure out how to keep modules from hitting the disk with pipelining.
* module.tmpdir is the new way to place a file where it will be cleaned
  automatically.

Change format string to not depend on __file__:

* cloud/amazon/ec2_elb_lb.py
* cloud/amazon/elb_classic_lb.py

Use module.tempdir:

* packaging/os/apt.py
* files/unarchive.py
2018-07-09 15:51:20 -07:00
Julien Vey 0f612d1b76 efs_facts: improve performance by reducing the number of api calls (#36520)
* efs_facts: improve performance by reducing the number of api calls

* Remove efs_facts tests from running in CI
2018-07-08 16:34:22 -04:00
Deiwin Sarjas 6412cbf84b aws_eks_cluster: Add wait functionality (#42259)
* aws_eks_cluster: Improve output documentation

This data is already returned by the module, it just wasn't documented. These
fields are required for accessing the created Kubernetes API with e.g. the
k8s_raw module.

* aws_eks_cluster: Add wait functionality

This enables further cluster configuration once it's created and active.

20 minutes was chosen as an arbitrary default, so that if it takes longer than
the documented "usually less than 10 minutes" it's still likely to succeed.

* Correct security group name in aws_eks tests

* Improve teardown of aws_eks tests

Fix minor teardown issues. The `pause` step is a placeholder until
a waiter for `state: absent`
2018-07-04 22:30:57 +10:00
mjmayer b60fc33eef Add execution_role_arn parameter (#41849)
* Add execution_role_arn parameter

* Change ecs_taskdefinition to use AnsibleAWSmodule

Botocore version checking is becomming more common. Changing the ecs_taskdefinition
to use AnsibleAWSmodule allows more easily for this.

* Change launch type check to use botocore_at_least function

* Remove execution_role_arn param from params dict

* Change check to use parameter

* Fix typo

* Add test for old botocore version

* Add test for execution role parameter

* Remove iam_role_facts task

Task was unecessary. The same information could be gathered by registering
the iam_role task.
2018-07-04 14:34:11 +10:00
cahlchang 92dce2943f [AWS] Add check Iam Role description update (#39773)
* add check description update

* Ensure 'Description' is in the role so KeyError isn't caused

* Fix changed when modifying the description with check mode
2018-07-03 18:01:14 -04:00
Rob b87e1a023d [aws] add support for http2 to AWS ALB (#40372) 2018-07-02 14:31:56 -04:00
cclauss 14bc625c2c Catch the raised exception so we can report failure (#42177)
[AWS iam_policy] Avoid the _undefined name_ by catching the raised exception into the variable __e__ so it can be reported on the following line.

flake8 testing of https://github.com/ansible/ansible on Python 3.6.3

$ __flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics__
```
./lib/ansible/modules/cloud/amazon/iam_policy.py:305:16: F821 undefined name 'e'
            if e.errno == 2:
               ^
./lib/ansible/modules/cloud/misc/rhevm.py:594:24: F821 undefined name 'e'
            setMsg(str(e))
                       ^
./lib/ansible/modules/files/archive.py:391:92: F821 undefined name 'e'
                module.fail_json(dest=dest, msg='Error deleting some source files: ' + str(e), files=errors)
                                                                                           ^
3    F821 undefined name 'e'
3
```
2018-07-02 08:45:36 -04:00
Ryan Brown d76e9008ee [aws] Default state of iam_managed_policy to `present` (#42069)
This default matches with the other IAM modules, such as iam_role.
2018-06-28 16:03:40 -04:00
Leif Madsen 4a05b6c8ba Fix EC2 example variable naming mismatch (#42048)
Fix EC2 example where variable name mismatched usage.

+label: docsite_pr
2018-06-28 13:05:43 -04:00
David Medberry ffba0a5d99 Update aws_caller_facts.py (#41936)
Minor typo (accont vs account) and rewording to remove dangling from.

+label: docsite_pr
2018-06-26 09:54:44 +10:00
Dennis Benkert 28d0a173db [aws] add limit on number of CloudFormation stack events fetched by cloudformation module (#41840)
* Add a module parameter to configure the max fetched AWS CFN stack events
* Add version documentation for new configuration option
* Increase default in order to make sure that enough are fetched by default. This align roughly with the limit of manageable resources in CloudFormation.
2018-06-25 12:39:32 -04:00
Ryan Brown c7a5e9d4eb Remove unused imports from aws_direct_connect_connection module (#41802)
* Remove unused imports from aws_direct_connect_connection module

* Fix tuple notation
2018-06-21 14:50:09 -04:00
Ryan Brown 5abb63ea56 Remove unused imports from aws_config_aggregator (#41803) 2018-06-21 13:36:07 -04:00
cpollard0 f93a171bb6 [aws][docs] Update max session duration in sts_assume_role documentation(#41765)
Update to reflect assume role updated durations as of March 2018. 
https://aws.amazon.com/blogs/security/enable-federated-api-access-to-your-aws-resources-for-up-to-12-hours-using-iam-roles/

+label: docsite_pr
2018-06-21 12:05:51 -04:00
Sloane Hertel c4a6bce69f ecs_service: make assign_public_ip option a boolean (#41759) 2018-06-21 12:17:01 +10:00
Ryan Brown 84612577ba [aws] Remove unused return in ec2_vpc_dhcp_option_facts module (#41709) 2018-06-19 16:36:45 -04:00
Ryan Brown 531cdddeed [aws] Remove unused return in ec2_vpc_igw_facts module (#41708) 2018-06-19 16:31:18 -04:00
Ryan Brown a01a17c772 [aws] Remove extra variable definition in ec2_vpc_nacl module (#41707) 2018-06-19 16:29:56 -04:00
Ryan Brown 22f1b71be0 [aws] Remove unused variable in ec2_asg module (#41706) 2018-06-19 16:23:41 -04:00
Ryan Brown 956fe7362d [aws] Fix unused return value in ec2_vpc_vgw_facts module (#41697) 2018-06-19 14:46:24 -04:00
Sloane Hertel 1268ce4d4f [ecs_service] fix assign_public_ip network configuration to module parameter rather than fixed string (#41689)
Fix parameter name

Use suboptions

document suboptions

Add a test to assert assign_public_ip is configurable
2018-06-19 14:35:53 -04:00
Ryan Brown 67d6e8177e [aws] remove unused variable in iam_user module (#41695) 2018-06-19 14:32:56 -04:00
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