mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-26 14:41:23 -07:00
Resolving differences in core modules post-merge
This commit is contained in:
parent
95d59b61eb
commit
8afa090417
115 changed files with 2651 additions and 17913 deletions
|
@ -39,35 +39,28 @@ options:
|
|||
description:
|
||||
- name of the cloudformation stack
|
||||
required: true
|
||||
default: null
|
||||
aliases: []
|
||||
disable_rollback:
|
||||
description:
|
||||
- If a stacks fails to form, rollback will remove the stack
|
||||
required: false
|
||||
default: "false"
|
||||
choices: [ "true", "false" ]
|
||||
aliases: []
|
||||
template_parameters:
|
||||
description:
|
||||
- a list of hashes of all the template variables for the stack
|
||||
required: false
|
||||
default: {}
|
||||
aliases: []
|
||||
state:
|
||||
description:
|
||||
- If state is "present", stack will be created. If state is "present" and if stack exists and template has changed, it will be updated.
|
||||
If state is "absent", stack will be removed.
|
||||
required: true
|
||||
default: null
|
||||
aliases: []
|
||||
template:
|
||||
description:
|
||||
- The local path of the cloudformation template. This parameter is mutually exclusive with 'template_url'. Either one of them is required if "state" parameter is "present"
|
||||
Must give full path to the file, relative to the working directory. If using roles this may look like "roles/cloudformation/files/cloudformation-example.json"
|
||||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
notification_arns:
|
||||
description:
|
||||
- The Simple Notification Service (SNS) topic ARNs to publish stack related events.
|
||||
|
@ -79,14 +72,12 @@ options:
|
|||
- the path of the cloudformation stack policy. A policy cannot be removed once placed, but it can be modified. (for instance, [allow all updates](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html#d0e9051)
|
||||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
version_added: "1.9"
|
||||
tags:
|
||||
description:
|
||||
- Dictionary of tags to associate with stack and its resources during stack creation. Can be updated later, updating tags removes previous entries.
|
||||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
version_added: "1.4"
|
||||
template_url:
|
||||
description:
|
||||
|
|
|
@ -56,7 +56,7 @@ options:
|
|||
region:
|
||||
version_added: "1.2"
|
||||
description:
|
||||
- The AWS region to use. Must be specified if ec2_url is not used. If not specified then the value of the EC2_REGION environment variable, if any, is used.
|
||||
- The AWS region to use. Must be specified if ec2_url is not used. If not specified then the value of the EC2_REGION environment variable, if any, is used. See U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region)
|
||||
required: false
|
||||
default: null
|
||||
aliases: [ 'aws_region', 'ec2_region' ]
|
||||
|
@ -69,16 +69,17 @@ options:
|
|||
aliases: [ 'aws_zone', 'ec2_zone' ]
|
||||
instance_type:
|
||||
description:
|
||||
- instance type to use for the instance
|
||||
- instance type to use for the instance, see U(http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
|
||||
required: true
|
||||
default: null
|
||||
aliases: []
|
||||
tenancy:
|
||||
version_added: "1.9"
|
||||
description:
|
||||
- An instance with a tenancy of "dedicated" runs on single-tenant hardware and can only be launched into a VPC. Valid values are "default" or "dedicated". Note that to use dedicated tenancy you MUST specify a vpc_subnet_id as well. Dedicated tenancy is not available for EC2 "micro" instances.
|
||||
- An instance with a tenancy of "dedicated" runs on single-tenant hardware and can only be launched into a VPC. Note that to use dedicated tenancy you MUST specify a vpc_subnet_id as well. Dedicated tenancy is not available for EC2 "micro" instances.
|
||||
required: false
|
||||
default: default
|
||||
choices: [ "default", "dedicated" ]
|
||||
aliases: []
|
||||
spot_price:
|
||||
version_added: "1.5"
|
||||
|
@ -143,6 +144,7 @@ options:
|
|||
- enable detailed monitoring (CloudWatch) for instance
|
||||
required: false
|
||||
default: null
|
||||
choices: [ "yes", "no" ]
|
||||
aliases: []
|
||||
user_data:
|
||||
version_added: "0.9"
|
||||
|
@ -178,6 +180,7 @@ options:
|
|||
- when provisioning within vpc, assign a public IP address. Boto library must be 2.13.0+
|
||||
required: false
|
||||
default: null
|
||||
choices: [ "yes", "no" ]
|
||||
aliases: []
|
||||
private_ip:
|
||||
version_added: "1.2"
|
||||
|
|
|
@ -51,12 +51,6 @@ options:
|
|||
- create or deregister/delete image
|
||||
required: false
|
||||
default: 'present'
|
||||
region:
|
||||
description:
|
||||
- The AWS region to use. Must be specified if ec2_url is not used. If not specified then the value of the EC2_REGION environment variable, if any, is used.
|
||||
required: false
|
||||
default: null
|
||||
aliases: [ 'aws_region', 'ec2_region' ]
|
||||
description:
|
||||
description:
|
||||
- An optional human-readable string describing the contents and purpose of the AMI.
|
||||
|
@ -74,10 +68,10 @@ options:
|
|||
required: false
|
||||
default: null
|
||||
device_mapping:
|
||||
version_added: "1.9"
|
||||
version_added: "2.0"
|
||||
description:
|
||||
- An optional list of device hashes/dictionaries with custom configurations (same block-device-mapping parameters)
|
||||
- Valid properties include: device_name, volume_type, size (in GB), delete_on_termination (boolean), no_device (boolean), snapshot_id, iops (for io1 volume_type)
|
||||
- "Valid properties include: device_name, volume_type, size (in GB), delete_on_termination (boolean), no_device (boolean), snapshot_id, iops (for io1 volume_type)"
|
||||
required: false
|
||||
default: null
|
||||
delete_snapshot:
|
||||
|
@ -305,6 +299,7 @@ import time
|
|||
try:
|
||||
import boto
|
||||
import boto.ec2
|
||||
from boto.ec2.blockdevicemapping import BlockDeviceType, BlockDeviceMapping
|
||||
HAS_BOTO = True
|
||||
except ImportError:
|
||||
HAS_BOTO = False
|
||||
|
@ -365,6 +360,7 @@ def create_image(module, ec2):
|
|||
wait_timeout = int(module.params.get('wait_timeout'))
|
||||
description = module.params.get('description')
|
||||
no_reboot = module.params.get('no_reboot')
|
||||
device_mapping = module.params.get('device_mapping')
|
||||
tags = module.params.get('tags')
|
||||
launch_permissions = module.params.get('launch_permissions')
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ ANSIBLE_METADATA = {'status': ['preview'],
|
|||
DOCUMENTATION = '''
|
||||
---
|
||||
module: ec2_ami_find
|
||||
version_added: 2.0
|
||||
version_added: '2.0'
|
||||
short_description: Searches for AMIs to obtain the AMI ID and other information
|
||||
description:
|
||||
- Returns list of matching AMIs with AMI ID, along with other useful information
|
||||
|
|
|
@ -69,7 +69,7 @@ options:
|
|||
required: false
|
||||
replace_all_instances:
|
||||
description:
|
||||
- In a rolling fashion, replace all instances with an old launch configuration with one from the current launch configuraiton.
|
||||
- In a rolling fashion, replace all instances with an old launch configuration with one from the current launch configuration.
|
||||
required: false
|
||||
version_added: "1.8"
|
||||
default: False
|
||||
|
@ -91,11 +91,6 @@ options:
|
|||
required: false
|
||||
version_added: "1.8"
|
||||
default: True
|
||||
region:
|
||||
description:
|
||||
- The AWS region to use. If not specified then the value of the EC2_REGION environment variable, if any, is used.
|
||||
required: false
|
||||
aliases: ['aws_region', 'ec2_region']
|
||||
vpc_zone_identifier:
|
||||
description:
|
||||
- List of VPC subnets to use
|
||||
|
@ -142,7 +137,7 @@ options:
|
|||
- An ordered list of criteria used for selecting instances to be removed from the Auto Scaling group when reducing capacity.
|
||||
- For 'Default', when used to create a new autoscaling group, the "Default"i value is used. When used to change an existent autoscaling group, the current termination policies are maintained.
|
||||
required: false
|
||||
default: Default. Eg, when used to create a new autoscaling group, the “Default” value is used. When used to change an existent autoscaling group, the current termination policies are mantained
|
||||
default: Default
|
||||
choices: ['OldestInstance', 'NewestInstance', 'OldestLaunchConfiguration', 'ClosestToNextInstanceHour', 'Default']
|
||||
version_added: "2.0"
|
||||
notification_topic:
|
||||
|
|
|
@ -47,12 +47,6 @@ options:
|
|||
required: false
|
||||
choices: ['present', 'absent']
|
||||
default: present
|
||||
region:
|
||||
description:
|
||||
- the EC2 region to use
|
||||
required: false
|
||||
default: null
|
||||
aliases: [ ec2_region ]
|
||||
in_vpc:
|
||||
description:
|
||||
- allocate an EIP inside a VPC or not
|
||||
|
|
|
@ -45,11 +45,6 @@ options:
|
|||
- List of ELB names, required for registration. The ec2_elbs fact should be used if there was a previous de-register.
|
||||
required: false
|
||||
default: None
|
||||
region:
|
||||
description:
|
||||
- The AWS region to use. If not specified then the value of the EC2_REGION environment variable, if any, is used.
|
||||
required: false
|
||||
aliases: ['aws_region', 'ec2_region']
|
||||
enable_availability_zone:
|
||||
description:
|
||||
- Whether to enable the availability zone of the instance on the target ELB if the availability zone has not already
|
||||
|
@ -77,7 +72,9 @@ options:
|
|||
required: false
|
||||
default: 0
|
||||
version_added: "1.6"
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
"""
|
||||
|
||||
EXAMPLES = """
|
||||
|
|
|
@ -82,7 +82,7 @@ options:
|
|||
version_added: "2.0"
|
||||
health_check:
|
||||
description:
|
||||
- An associative array of health check configuration settigs (see example)
|
||||
- An associative array of health check configuration settings (see example)
|
||||
require: false
|
||||
default: None
|
||||
access_logs:
|
||||
|
@ -131,7 +131,7 @@ options:
|
|||
version_added: "2.0"
|
||||
cross_az_load_balancing:
|
||||
description:
|
||||
- Distribute load across all configured Availablity Zones
|
||||
- Distribute load across all configured Availability Zones
|
||||
required: false
|
||||
default: "no"
|
||||
choices: ["yes", "no"]
|
||||
|
@ -163,7 +163,9 @@ options:
|
|||
required: false
|
||||
version_added: "2.1"
|
||||
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
"""
|
||||
|
||||
EXAMPLES = """
|
||||
|
@ -271,7 +273,7 @@ EXAMPLES = """
|
|||
purge_listeners: no
|
||||
|
||||
# Normally, this module will leave availability zones that are enabled
|
||||
# on the ELB alone. If purge_zones is true, then any extreneous zones
|
||||
# on the ELB alone. If purge_zones is true, then any extraneous zones
|
||||
# will be removed
|
||||
- local_action:
|
||||
module: ec2_elb_lb
|
||||
|
@ -762,7 +764,7 @@ class ElbManager(object):
|
|||
# Does it match exactly?
|
||||
if listener_as_tuple != existing_listener_found:
|
||||
# The ports are the same but something else is different,
|
||||
# so we'll remove the exsiting one and add the new one
|
||||
# so we'll remove the existing one and add the new one
|
||||
listeners_to_remove.append(existing_listener_found)
|
||||
listeners_to_add.append(listener_as_tuple)
|
||||
else:
|
||||
|
|
|
@ -33,7 +33,7 @@ options:
|
|||
required: false
|
||||
default: 'yes'
|
||||
choices: ['yes', 'no']
|
||||
version_added: 1.5.1
|
||||
version_added: '1.5.1'
|
||||
description:
|
||||
- This module fetches data from the metadata servers in ec2 (aws) as per
|
||||
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html.
|
||||
|
|
|
@ -49,12 +49,6 @@ options:
|
|||
- List of firewall outbound rules to enforce in this group (see example). If none are supplied, a default all-out rule is assumed. If an empty list is supplied, no outbound rules will be enabled.
|
||||
required: false
|
||||
version_added: "1.6"
|
||||
region:
|
||||
description:
|
||||
- the EC2 region to use
|
||||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
state:
|
||||
version_added: "1.4"
|
||||
description:
|
||||
|
@ -78,7 +72,9 @@ options:
|
|||
default: 'true'
|
||||
aliases: []
|
||||
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
|
||||
notes:
|
||||
- If a rule declares a group_name and that group doesn't exist, it will be
|
||||
|
|
|
@ -35,12 +35,6 @@ options:
|
|||
description:
|
||||
- Public key material.
|
||||
required: false
|
||||
region:
|
||||
description:
|
||||
- the EC2 region to use
|
||||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
state:
|
||||
description:
|
||||
- create or delete keypair
|
||||
|
@ -62,7 +56,9 @@ options:
|
|||
aliases: []
|
||||
version_added: "1.6"
|
||||
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
author: "Vincent Viallet (@zbal)"
|
||||
'''
|
||||
|
||||
|
|
|
@ -59,11 +59,6 @@ options:
|
|||
description:
|
||||
- A list of security groups to apply to the instances. For VPC instances, specify security group IDs. For EC2-Classic, specify either security group names or IDs.
|
||||
required: false
|
||||
region:
|
||||
description:
|
||||
- The AWS region to use. If not specified then the value of the EC2_REGION environment variable, if any, is used.
|
||||
required: false
|
||||
aliases: ['aws_region', 'ec2_region']
|
||||
volumes:
|
||||
description:
|
||||
- a list of volume dicts, each containing device name and optionally ephemeral id or snapshot id. Size and type (and number of iops for io device type) must be specified for a new volume or a root volume, and may be passed for a snapshot volume. For any volume, a volume size less than 1 will be interpreted as a request not to create the volume.
|
||||
|
@ -110,7 +105,7 @@ options:
|
|||
- Id of ClassicLink enabled VPC
|
||||
required: false
|
||||
version_added: "2.0"
|
||||
classic_link_vpc_security_groups"
|
||||
classic_link_vpc_security_groups:
|
||||
description:
|
||||
- A list of security group id's with which to associate the ClassicLink VPC instances.
|
||||
required: false
|
||||
|
|
|
@ -33,7 +33,7 @@ options:
|
|||
required: true
|
||||
choices: ['present', 'absent']
|
||||
name:
|
||||
desciption:
|
||||
description:
|
||||
- Unique name for the alarm
|
||||
required: true
|
||||
metric:
|
||||
|
@ -75,7 +75,7 @@ options:
|
|||
options: ['Seconds','Microseconds','Milliseconds','Bytes','Kilobytes','Megabytes','Gigabytes','Terabytes','Bits','Kilobits','Megabits','Gigabits','Terabits','Percent','Count','Bytes/Second','Kilobytes/Second','Megabytes/Second','Gigabytes/Second','Terabytes/Second','Bits/Second','Kilobits/Second','Megabits/Second','Gigabits/Second','Terabits/Second','Count/Second','None']
|
||||
description:
|
||||
description:
|
||||
- A longer desciption of the alarm
|
||||
- A longer description of the alarm
|
||||
required: false
|
||||
dimensions:
|
||||
description:
|
||||
|
@ -93,7 +93,9 @@ options:
|
|||
description:
|
||||
- A list of the names of action(s) to take when the alarm is in the 'ok' status
|
||||
required: false
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
"""
|
||||
|
||||
EXAMPLES = '''
|
||||
|
|
|
@ -41,7 +41,7 @@ options:
|
|||
- Name of the associated autoscaling group
|
||||
required: true
|
||||
adjustment_type:
|
||||
desciption:
|
||||
description:
|
||||
- The type of change in capacity of the autoscaling group
|
||||
required: false
|
||||
choices: ['ChangeInCapacity','ExactCapacity','PercentChangeInCapacity']
|
||||
|
@ -57,7 +57,9 @@ options:
|
|||
description:
|
||||
- The minimum period of time between which autoscaling actions can take place
|
||||
required: false
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
"""
|
||||
|
||||
EXAMPLES = '''
|
||||
|
|
|
@ -26,11 +26,6 @@ description:
|
|||
- creates an EC2 snapshot from an existing EBS volume
|
||||
version_added: "1.5"
|
||||
options:
|
||||
region:
|
||||
description:
|
||||
- The AWS region to use. If not specified then the value of the EC2_REGION environment variable, if any, is used.
|
||||
required: false
|
||||
aliases: ['aws_region', 'ec2_region']
|
||||
volume_id:
|
||||
description:
|
||||
- volume from which to take the snapshot
|
||||
|
@ -86,7 +81,9 @@ options:
|
|||
version_added: "2.0"
|
||||
|
||||
author: "Will Thames (@willthames)"
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
|
|
@ -26,12 +26,6 @@ description:
|
|||
- Creates, removes and lists tags from any EC2 resource. The resource is referenced by its resource id (e.g. an instance being i-XXXXXXX). It is designed to be used with complex args (tags), see the examples. This module has a dependency on python-boto.
|
||||
version_added: "1.3"
|
||||
options:
|
||||
region:
|
||||
description:
|
||||
- region in which the resource exists.
|
||||
required: false
|
||||
default: null
|
||||
aliases: ['aws_region', 'ec2_region']
|
||||
resource:
|
||||
description:
|
||||
- The EC2 resource id.
|
||||
|
@ -53,7 +47,9 @@ options:
|
|||
aliases: []
|
||||
|
||||
author: "Lester Wade (@lwade)"
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
|
|
@ -105,7 +105,9 @@ options:
|
|||
choices: ['absent', 'present', 'list']
|
||||
version_added: "1.6"
|
||||
author: "Lester Wade (@lwade)"
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
|
|
@ -91,7 +91,9 @@ options:
|
|||
required: true
|
||||
choices: [ "present", "absent" ]
|
||||
author: "Carson Gee (@carsongee)"
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
@ -476,6 +478,7 @@ def create_vpc(module, vpc_conn):
|
|||
|
||||
# Handle Internet gateway (create/delete igw)
|
||||
igw = None
|
||||
igw_id = None
|
||||
igws = vpc_conn.get_all_internet_gateways(filters={'attachment.vpc-id': vpc.id})
|
||||
if len(igws) > 1:
|
||||
module.fail_json(msg='EC2 returned more than one Internet Gateway for id %s, aborting' % vpc.id)
|
||||
|
@ -499,6 +502,9 @@ def create_vpc(module, vpc_conn):
|
|||
except EC2ResponseError as e:
|
||||
module.fail_json(msg='Unable to delete Internet Gateway, error: {0}'.format(e))
|
||||
|
||||
if igw is not None:
|
||||
igw_id = igw.id
|
||||
|
||||
# Handle route tables - this may be worth splitting into a
|
||||
# different module but should work fine here. The strategy to stay
|
||||
# idempotent is to basically build all the route tables as
|
||||
|
@ -602,6 +608,7 @@ def create_vpc(module, vpc_conn):
|
|||
module.fail_json(msg='Unable to delete old route table {0}, error: {1}'.format(rt.id, e))
|
||||
|
||||
vpc_dict = get_vpc_info(vpc)
|
||||
|
||||
created_vpc_id = vpc.id
|
||||
returned_subnets = []
|
||||
current_subnets = vpc_conn.get_all_subnets(filters={ 'vpc_id': vpc.id })
|
||||
|
@ -624,7 +631,7 @@ def create_vpc(module, vpc_conn):
|
|||
subnets_in_play = len(subnets)
|
||||
returned_subnets.sort(key=lambda x: order.get(x['cidr'], subnets_in_play))
|
||||
|
||||
return (vpc_dict, created_vpc_id, returned_subnets, changed)
|
||||
return (vpc_dict, created_vpc_id, returned_subnets, igw_id, changed)
|
||||
|
||||
def terminate_vpc(module, vpc_conn, vpc_id=None, cidr=None):
|
||||
"""
|
||||
|
@ -723,6 +730,7 @@ def main():
|
|||
else:
|
||||
module.fail_json(msg="region must be specified")
|
||||
|
||||
igw_id = None
|
||||
if module.params.get('state') == 'absent':
|
||||
vpc_id = module.params.get('vpc_id')
|
||||
cidr = module.params.get('cidr_block')
|
||||
|
@ -730,9 +738,9 @@ def main():
|
|||
subnets_changed = None
|
||||
elif module.params.get('state') == 'present':
|
||||
# Changed is always set to true when provisioning a new VPC
|
||||
(vpc_dict, new_vpc_id, subnets_changed, changed) = create_vpc(module, vpc_conn)
|
||||
(vpc_dict, new_vpc_id, subnets_changed, igw_id, changed) = create_vpc(module, vpc_conn)
|
||||
|
||||
module.exit_json(changed=changed, vpc_id=new_vpc_id, vpc=vpc_dict, subnets=subnets_changed)
|
||||
module.exit_json(changed=changed, vpc_id=new_vpc_id, vpc=vpc_dict, igw_id=igw_id, subnets=subnets_changed)
|
||||
|
||||
# import module snippets
|
||||
from ansible.module_utils.basic import *
|
||||
|
|
|
@ -76,7 +76,9 @@ options:
|
|||
default: false
|
||||
required: false
|
||||
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
|
|
@ -74,7 +74,7 @@ options:
|
|||
- The subnet group name to associate with. Only use if inside a vpc. Required if inside a vpc
|
||||
required: false
|
||||
default: None
|
||||
version_added: "1.7"
|
||||
version_added: "2.0"
|
||||
security_group_ids:
|
||||
description:
|
||||
- A list of vpc security group names to associate with this cache cluster. Only use if inside a vpc
|
||||
|
@ -103,13 +103,9 @@ options:
|
|||
required: false
|
||||
default: no
|
||||
choices: [ "yes", "no" ]
|
||||
region:
|
||||
description:
|
||||
- The AWS region to use. If not specified then the value of the AWS_REGION or EC2_REGION environment variable, if any, is used.
|
||||
required: true
|
||||
default: null
|
||||
aliases: ['aws_region', 'ec2_region']
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
"""
|
||||
|
||||
EXAMPLES = """
|
||||
|
|
|
@ -31,34 +31,25 @@ options:
|
|||
- Specifies whether the subnet should be present or absent.
|
||||
required: true
|
||||
default: present
|
||||
aliases: []
|
||||
choices: [ 'present' , 'absent' ]
|
||||
name:
|
||||
description:
|
||||
- Database subnet group identifier.
|
||||
required: true
|
||||
default: null
|
||||
aliases: []
|
||||
description:
|
||||
description:
|
||||
- Elasticache subnet group description. Only set when a new group is added.
|
||||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
subnets:
|
||||
description:
|
||||
- List of subnet IDs that make up the Elasticache subnet group.
|
||||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
region:
|
||||
description:
|
||||
- The AWS region to use. If not specified then the value of the AWS_REGION or EC2_REGION environment variable, if any, is used.
|
||||
required: true
|
||||
default: null
|
||||
aliases: ['aws_region', 'ec2_region']
|
||||
author: Tim Mahoney
|
||||
extends_documentation_fragment: aws
|
||||
author: "Tim Mahoney (@timmahoney)"
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
|
|
@ -36,24 +36,22 @@ options:
|
|||
description:
|
||||
- Name of IAM resource to create or identify
|
||||
required: true
|
||||
aliases: []
|
||||
new_name:
|
||||
description:
|
||||
- When state is update, will replace name with new_name on IAM resource
|
||||
required: false
|
||||
aliases: []
|
||||
default: null
|
||||
new_path:
|
||||
description:
|
||||
- When state is update, will replace the path with new_path on the IAM resource
|
||||
required: false
|
||||
aliases: []
|
||||
default: null
|
||||
state:
|
||||
description:
|
||||
- Whether to create, delete or update the IAM resource. Note, roles cannot be updated.
|
||||
required: true
|
||||
default: null
|
||||
choices: [ "present", "absent", "update" ]
|
||||
aliases: []
|
||||
path:
|
||||
description:
|
||||
- When creating or updating, specify the desired path of the resource. If state is present, it will replace the current path to match what is passed in when they do not match.
|
||||
|
@ -77,13 +75,11 @@ options:
|
|||
required: false
|
||||
default: null
|
||||
choices: [ "create", "remove", "active", "inactive"]
|
||||
aliases: []
|
||||
key_count:
|
||||
description:
|
||||
- When access_key_state is create it will ensure this quantity of keys are present. Defaults to 1.
|
||||
required: false
|
||||
default: '1'
|
||||
aliases: []
|
||||
access_key_ids:
|
||||
description:
|
||||
- A list of the keys that you want impacted by the access_key_state parameter.
|
||||
|
@ -92,13 +88,11 @@ options:
|
|||
- A list of groups the user should belong to. When update, will gracefully remove groups not listed.
|
||||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
password:
|
||||
description:
|
||||
- When type is user and state is present, define the users login password. Also works with update. Note that always returns changed.
|
||||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
update_password:
|
||||
required: false
|
||||
default: always
|
||||
|
|
|
@ -89,7 +89,9 @@ options:
|
|||
|
||||
requirements: [ "boto" ]
|
||||
author: Jonathan I. Davila
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
|
|
@ -62,7 +62,9 @@ options:
|
|||
notes:
|
||||
- 'Currently boto does not support the removal of Managed Policies, the module will not work removing/adding managed policies.'
|
||||
author: "Jonathan I. Davila (@defionscode)"
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
|
|
@ -65,7 +65,9 @@ options:
|
|||
default: null
|
||||
aliases: []
|
||||
author: "Scott Anderson (@tastychutney)"
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
|
|
@ -51,14 +51,10 @@ options:
|
|||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
region:
|
||||
description:
|
||||
- The AWS region to use. If not specified then the value of the AWS_REGION or EC2_REGION environment variable, if any, is used.
|
||||
required: true
|
||||
default: null
|
||||
aliases: ['aws_region', 'ec2_region']
|
||||
author: "Scott Anderson (@tastychutney)"
|
||||
extends_documentation_fragment: aws
|
||||
extends_documentation_fragment:
|
||||
- aws
|
||||
- ec2
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
|
|
@ -30,33 +30,26 @@ options:
|
|||
description:
|
||||
- Specifies the action to take.
|
||||
required: true
|
||||
default: null
|
||||
aliases: []
|
||||
choices: [ 'get', 'create', 'delete' ]
|
||||
zone:
|
||||
description:
|
||||
- The DNS zone to modify
|
||||
required: true
|
||||
default: null
|
||||
aliases: []
|
||||
hosted_zone_id:
|
||||
description:
|
||||
- The Hosted Zone ID of the DNS zone to modify
|
||||
required: false
|
||||
version_added: 2.0
|
||||
version_added: "2.0"
|
||||
default: null
|
||||
record:
|
||||
description:
|
||||
- The full DNS record to create or delete
|
||||
required: true
|
||||
default: null
|
||||
aliases: []
|
||||
ttl:
|
||||
description:
|
||||
- The TTL to give the new record
|
||||
required: false
|
||||
default: 3600 (one hour)
|
||||
aliases: []
|
||||
type:
|
||||
description:
|
||||
- The type of DNS record to create
|
||||
|
@ -66,40 +59,36 @@ options:
|
|||
description:
|
||||
- Indicates if this is an alias record.
|
||||
required: false
|
||||
version_added: 1.9
|
||||
version_added: "1.9"
|
||||
default: False
|
||||
aliases: []
|
||||
choices: [ 'True', 'False' ]
|
||||
alias_hosted_zone_id:
|
||||
description:
|
||||
- The hosted zone identifier.
|
||||
required: false
|
||||
version_added: 1.9
|
||||
version_added: "1.9"
|
||||
default: null
|
||||
alias_evaluate_target_health:
|
||||
description:
|
||||
- Whether or not to evaluate an alias target health. Useful for aliases to Elastic Load Balancers.
|
||||
required: false
|
||||
version_added: "2.0"
|
||||
version_added: "2.1"
|
||||
default: false
|
||||
value:
|
||||
description:
|
||||
- The new value when creating a DNS record. Multiple comma-spaced values are allowed for non-alias records. When deleting a record all values for the record must be specified or Route53 will not delete it.
|
||||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
overwrite:
|
||||
description:
|
||||
- Whether an existing record should be overwritten on create if values do not match
|
||||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
retry_interval:
|
||||
description:
|
||||
- In the case that route53 is still servicing a prior request, this module will wait and try again after this many seconds. If you have many domain names, the default of 500 seconds may be too long.
|
||||
required: false
|
||||
default: 500
|
||||
aliases: []
|
||||
private_zone:
|
||||
description:
|
||||
- If set to true, the private zone matching the requested name within the domain will be used if there are both public and private zones. The default is to use the public zone.
|
||||
|
@ -316,6 +305,7 @@ import distutils.version
|
|||
|
||||
try:
|
||||
import boto
|
||||
import boto.ec2
|
||||
from boto import route53
|
||||
from boto.route53 import Route53Connection
|
||||
from boto.route53.record import Record, ResourceRecordSets
|
||||
|
@ -496,26 +486,11 @@ def main():
|
|||
except boto.exception.BotoServerError as e:
|
||||
module.fail_json(msg = e.error_message)
|
||||
|
||||
# Get all the existing hosted zones and save their ID's
|
||||
zones = {}
|
||||
results = conn.get_all_hosted_zones()
|
||||
for r53zone in results['ListHostedZonesResponse']['HostedZones']:
|
||||
# only save this zone id if the private status of the zone matches
|
||||
# the private_zone_in boolean specified in the params
|
||||
if module.boolean(r53zone['Config'].get('PrivateZone', False)) == private_zone_in:
|
||||
zone_id = r53zone['Id'].replace('/hostedzone/', '')
|
||||
# only save when unique hosted_zone_id is given and is equal
|
||||
# hosted_zone_id_in is specified in the params
|
||||
if hosted_zone_id_in and zone_id == hosted_zone_id_in:
|
||||
zones[r53zone['Name']] = zone_id
|
||||
elif not hosted_zone_id_in:
|
||||
zones[r53zone['Name']] = zone_id
|
||||
# Find the named zone ID
|
||||
zone = get_zone_by_name(conn, module, zone_in, private_zone_in, hosted_zone_id_in, vpc_id_in)
|
||||
|
||||
# Verify that the requested zone is already defined in Route53
|
||||
if not zone_in in zones and hosted_zone_id_in:
|
||||
errmsg = "Hosted_zone_id %s does not exist in Route53" % hosted_zone_id_in
|
||||
module.fail_json(msg = errmsg)
|
||||
if not zone_in in zones:
|
||||
if zone is None:
|
||||
errmsg = "Zone %s does not exist in Route53" % zone_in
|
||||
module.fail_json(msg = errmsg)
|
||||
|
||||
|
@ -551,6 +526,8 @@ def main():
|
|||
record['ttl'] = rset.ttl
|
||||
record['value'] = ','.join(sorted(rset.resource_records))
|
||||
record['values'] = sorted(rset.resource_records)
|
||||
if hosted_zone_id_in:
|
||||
record['hosted_zone_id'] = hosted_zone_id_in
|
||||
record['identifier'] = rset.identifier
|
||||
record['weight'] = rset.weight
|
||||
record['region'] = rset.region
|
||||
|
|
|
@ -584,7 +584,7 @@ def main():
|
|||
if overwrite == 'always':
|
||||
download_s3file(module, s3, bucket, obj, dest, retries, version=version)
|
||||
else:
|
||||
module.exit_json(msg="Local and remote object are identical, ignoring. Use overwrite parameter to force.", changed=False)
|
||||
module.exit_json(msg="Local and remote object are identical, ignoring. Use overwrite=always parameter to force.", changed=False)
|
||||
else:
|
||||
sum_matches = False
|
||||
|
||||
|
@ -594,7 +594,7 @@ def main():
|
|||
module.exit_json(msg="WARNING: Checksums do not match. Use overwrite parameter to force download.")
|
||||
|
||||
# Firstly, if key_matches is TRUE and overwrite is not enabled, we EXIT with a helpful message.
|
||||
if sum_matches is True and overwrite is False:
|
||||
if sum_matches is True and overwrite == 'never':
|
||||
module.exit_json(msg="Local and remote object are identical, ignoring. Use overwrite parameter to force.", changed=False)
|
||||
|
||||
# if our mode is a PUT operation (upload), go through the procedure as appropriate ...
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue