Validate EXAMPLES as YAML
This commit is contained in:
parent
499d3a1b53
commit
7c00346714
112 changed files with 441 additions and 381 deletions
|
@ -105,14 +105,14 @@ EXAMPLES = '''
|
|||
# It is assumed that their matching environment variables are set.
|
||||
|
||||
# Basic creation example:
|
||||
ec2_vpc:
|
||||
- ec2_vpc:
|
||||
state: present
|
||||
cidr_block: 172.23.0.0/16
|
||||
resource_tags: { "Environment":"Development" }
|
||||
region: us-west-2
|
||||
# Full creation example with subnets and optional availability zones.
|
||||
# The absence or presence of subnets deletes or creates them respectively.
|
||||
ec2_vpc:
|
||||
- ec2_vpc:
|
||||
state: present
|
||||
cidr_block: 172.22.0.0/16
|
||||
resource_tags: { "Environment":"Development" }
|
||||
|
@ -143,12 +143,12 @@ EXAMPLES = '''
|
|||
register: vpc
|
||||
|
||||
# Removal of a VPC by id
|
||||
ec2_vpc:
|
||||
- ec2_vpc:
|
||||
state: absent
|
||||
vpc_id: vpc-aaaaaaa
|
||||
region: us-west-2
|
||||
If you have added elements not managed by this module, e.g. instances, NATs, etc then
|
||||
the delete will fail until those dependencies are removed.
|
||||
# If you have added elements not managed by this module, e.g. instances, NATs, etc then
|
||||
# the delete will fail until those dependencies are removed.
|
||||
'''
|
||||
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@ EXAMPLES = '''
|
|||
|
||||
# Facts are published in ansible_facts['cloudformation'][<stack_name>]
|
||||
- debug:
|
||||
msg: '{{ ansible_facts['cloudformation']['my-cloudformation-stack'] }}'
|
||||
msg: "{{ ansible_facts['cloudformation']['my-cloudformation-stack'] }}"
|
||||
|
||||
# Get all stack information about a stack
|
||||
- cloudformation_facts:
|
||||
|
|
|
@ -145,10 +145,10 @@ EXAMPLES = '''
|
|||
|
||||
# Facts are published in ansible_facts['cloudfront'][<distribution_name>]
|
||||
- debug:
|
||||
msg: '{{ ansible_facts['cloudfront']['my-cloudfront-distribution-id'] }}'
|
||||
msg: "{{ ansible_facts['cloudfront']['my-cloudfront-distribution-id'] }}"
|
||||
|
||||
- debug:
|
||||
msg: '{{ ansible_facts['cloudfront']['www.my-website.com'] }}'
|
||||
msg: "{{ ansible_facts['cloudfront']['www.my-website.com'] }}"
|
||||
|
||||
# Get all information about an invalidation for a distribution.
|
||||
- cloudfront_facts:
|
||||
|
|
|
@ -83,7 +83,8 @@ extends_documentation_fragment: aws
|
|||
|
||||
EXAMPLES = """
|
||||
- name: enable cloudtrail
|
||||
local_action: cloudtrail
|
||||
local_action:
|
||||
module: cloudtrail
|
||||
state: enabled
|
||||
name: main
|
||||
s3_bucket_name: ourbucket
|
||||
|
@ -91,7 +92,8 @@ EXAMPLES = """
|
|||
region: us-east-1
|
||||
|
||||
- name: enable cloudtrail with different configuration
|
||||
local_action: cloudtrail
|
||||
local_action:
|
||||
module: cloudtrail
|
||||
state: enabled
|
||||
name: main
|
||||
s3_bucket_name: ourbucket2
|
||||
|
@ -99,7 +101,8 @@ EXAMPLES = """
|
|||
region: us-east-1
|
||||
|
||||
- name: remove cloudtrail
|
||||
local_action: cloudtrail
|
||||
local_action:
|
||||
module: cloudtrail
|
||||
state: disabled
|
||||
name: main
|
||||
region: us-east-1
|
||||
|
|
|
@ -182,15 +182,15 @@ EXAMPLES = '''
|
|||
|
||||
# Rolling ASG Updates
|
||||
|
||||
Below is an example of how to assign a new launch config to an ASG and terminate old instances.
|
||||
|
||||
All instances in "myasg" that do not have the launch configuration named "my_new_lc" will be terminated in
|
||||
a rolling fashion with instances using the current launch configuration, "my_new_lc".
|
||||
|
||||
This could also be considered a rolling deploy of a pre-baked AMI.
|
||||
|
||||
If this is a newly created group, the instances will not be replaced since all instances
|
||||
will have the current launch configuration.
|
||||
# Below is an example of how to assign a new launch config to an ASG and terminate old instances.
|
||||
#
|
||||
# All instances in "myasg" that do not have the launch configuration named "my_new_lc" will be terminated in
|
||||
# a rolling fashion with instances using the current launch configuration, "my_new_lc".
|
||||
#
|
||||
# This could also be considered a rolling deploy of a pre-baked AMI.
|
||||
#
|
||||
# If this is a newly created group, the instances will not be replaced since all instances
|
||||
# will have the current launch configuration.
|
||||
|
||||
- name: create launch config
|
||||
ec2_lc:
|
||||
|
@ -213,8 +213,8 @@ will have the current launch configuration.
|
|||
desired_capacity: 5
|
||||
region: us-east-1
|
||||
|
||||
To only replace a couple of instances instead of all of them, supply a list
|
||||
to "replace_instances":
|
||||
# To only replace a couple of instances instead of all of them, supply a list
|
||||
# to "replace_instances":
|
||||
|
||||
- ec2_asg:
|
||||
name: myasg
|
||||
|
|
|
@ -175,7 +175,7 @@ EXAMPLES = '''
|
|||
|
||||
# Modify the interface to enable the delete_on_terminaton flag
|
||||
- ec2_eni:
|
||||
eni_id: {{ "eni.interface.id" }}
|
||||
eni_id: "{{ eni.interface.id }}"
|
||||
delete_on_termination: true
|
||||
|
||||
'''
|
||||
|
|
|
@ -90,7 +90,7 @@ EXAMPLES = '''
|
|||
hostPort: 80
|
||||
- name: busybox
|
||||
command:
|
||||
- "/bin/sh -c \"while true; do echo '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>' > top; /bin/date > date ; echo '</div></body></html>' > bottom; cat top date bottom > /usr/local/apache2/htdocs/index.html ; sleep 1; done\""
|
||||
- /bin/sh -c "while true; do echo '<html><head><title>Amazon ECS Sample App</title></head><body><div><h1>Amazon ECS Sample App</h1><h2>Congratulations!</h2><p>Your application is now running on a container in Amazon ECS.</p>' > top; /bin/date > date ; echo '</div></body></html>' > bottom; cat top date bottom > /usr/local/apache2/htdocs/index.html ; sleep 1; done"
|
||||
cpu: 10
|
||||
entryPoint:
|
||||
- sh
|
||||
|
|
|
@ -54,7 +54,7 @@ extends_documentation_fragment:
|
|||
|
||||
EXAMPLES = '''
|
||||
# Add or change a subnet group
|
||||
- elasticache_subnet_group
|
||||
- elasticache_subnet_group:
|
||||
state: present
|
||||
name: norwegian-blue
|
||||
description: My Fancy Ex Parrot Subnet Group
|
||||
|
|
|
@ -276,7 +276,7 @@ EXAMPLES = '''
|
|||
wait: yes
|
||||
|
||||
# Reboot an instance and wait for it to become available again
|
||||
- rds
|
||||
- rds:
|
||||
command: reboot
|
||||
instance_name: database
|
||||
wait: yes
|
||||
|
|
|
@ -67,7 +67,7 @@ EXAMPLES = '''
|
|||
- 'subnet-bbbbb'
|
||||
|
||||
# Remove subnet group
|
||||
redshift_subnet_group: >
|
||||
- redshift_subnet_group:
|
||||
state: absent
|
||||
group_name: redshift-subnet
|
||||
'''
|
||||
|
|
|
@ -163,7 +163,7 @@ EXAMPLES = '''
|
|||
|
||||
- name: Add new instance to host group
|
||||
add_host:
|
||||
hostname: '{{ item['ips'][0].public_ip }}'
|
||||
hostname: "{{ item['ips'][0].public_ip }}"
|
||||
groupname: azure_vms
|
||||
with_items: "{{ azure.deployment.instances }}"
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@ EXAMPLES = '''
|
|||
|
||||
# Ensure account configuration
|
||||
- local_action:
|
||||
module: cs_configuration:
|
||||
module: cs_configuration
|
||||
name: allow.public.user.templates
|
||||
value: false
|
||||
account: acme inc
|
||||
|
|
|
@ -84,7 +84,7 @@ EXAMPLES = '''
|
|||
# register your existing local public key:
|
||||
- cs_sshkeypair:
|
||||
name: linus@example.com
|
||||
public_key: '{{ lookup('file', '~/.ssh/id_rsa.pub') }}'
|
||||
public_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
|
||||
delegate_to: localhost
|
||||
'''
|
||||
|
||||
|
|
|
@ -236,6 +236,7 @@ EXAMPLES = '''
|
|||
credentials_file: "/path/to/your-key.json"
|
||||
project_id: "your-project-name"
|
||||
|
||||
---
|
||||
# Example Playbook
|
||||
- name: Compute Engine Instance Examples
|
||||
hosts: localhost
|
||||
|
|
|
@ -286,7 +286,7 @@ EXAMPLES = '''
|
|||
- proxmox:
|
||||
vmid: 100
|
||||
api_user: root@pam
|
||||
api_passwordL 1q2w3e
|
||||
api_password: 1q2w3e
|
||||
api_host: node1
|
||||
force: yes
|
||||
state: stopped
|
||||
|
|
|
@ -217,8 +217,7 @@ vm:
|
|||
|
||||
EXAMPLES = '''
|
||||
# basic get info from VM
|
||||
action: rhevm
|
||||
args:
|
||||
- rhevm:
|
||||
name: "demo"
|
||||
user: "{{ rhev.admin.name }}"
|
||||
password: "{{ rhev.admin.pass }}"
|
||||
|
@ -226,8 +225,7 @@ EXAMPLES = '''
|
|||
state: "info"
|
||||
|
||||
# basic create example from image
|
||||
action: rhevm
|
||||
args:
|
||||
- rhevm:
|
||||
name: "demo"
|
||||
user: "{{ rhev.admin.name }}"
|
||||
password: "{{ rhev.admin.pass }}"
|
||||
|
@ -237,8 +235,7 @@ EXAMPLES = '''
|
|||
cluster: "centos"
|
||||
|
||||
# power management
|
||||
action: rhevm
|
||||
args:
|
||||
- rhevm:
|
||||
name: "uptime_server"
|
||||
user: "{{ rhev.admin.name }}"
|
||||
password: "{{ rhev.admin.pass }}"
|
||||
|
@ -246,11 +243,10 @@ EXAMPLES = '''
|
|||
cluster: "RH"
|
||||
state: "down"
|
||||
image: "centos7_x64"
|
||||
cluster: "centos
|
||||
cluster: "centos"
|
||||
|
||||
# multi disk, multi nic create example
|
||||
action: rhevm
|
||||
args:
|
||||
- rhevm:
|
||||
name: "server007"
|
||||
user: "{{ rhev.admin.name }}"
|
||||
password: "{{ rhev.admin.pass }}"
|
||||
|
@ -290,8 +286,7 @@ EXAMPLES = '''
|
|||
- "hd"
|
||||
|
||||
# add a CD to the disk cd_drive
|
||||
action: rhevm
|
||||
args:
|
||||
- rhevm:
|
||||
name: 'server007'
|
||||
user: "{{ rhev.admin.name }}"
|
||||
password: "{{ rhev.admin.pass }}"
|
||||
|
@ -299,8 +294,7 @@ EXAMPLES = '''
|
|||
cd_drive: 'rhev-tools-setup.iso'
|
||||
|
||||
# new host deployment + host network configuration
|
||||
action: rhevm
|
||||
args:
|
||||
- rhevm:
|
||||
name: "ovirt_node007"
|
||||
password: "{{ rhevm.admin.pass }}"
|
||||
type: "host"
|
||||
|
|
|
@ -75,17 +75,18 @@ EXAMPLES = '''
|
|||
state: running
|
||||
|
||||
# /usr/bin/ansible invocations
|
||||
ansible host -m virt -a "name=alpha command=status"
|
||||
ansible host -m virt -a "name=alpha command=get_xml"
|
||||
ansible host -m virt -a "name=alpha command=create uri=lxc:///"
|
||||
# ansible host -m virt -a "name=alpha command=status"
|
||||
# ansible host -m virt -a "name=alpha command=get_xml"
|
||||
# ansible host -m virt -a "name=alpha command=create uri=lxc:///"
|
||||
|
||||
---
|
||||
# a playbook example of defining and launching an LXC guest
|
||||
tasks:
|
||||
- name: define vm
|
||||
virt:
|
||||
name: foo
|
||||
command: define
|
||||
xml: '{{ lookup('template', 'container-template.xml.j2') }}'
|
||||
xml: "{{ lookup('template', 'container-template.xml.j2') }}"
|
||||
uri: 'lxc:///'
|
||||
- name: start vm
|
||||
virt:
|
||||
|
|
|
@ -37,7 +37,8 @@ EXAMPLES = '''
|
|||
xenserver:
|
||||
|
||||
- name: Print running VMs
|
||||
debug: msg="{{ item }}"
|
||||
debug:
|
||||
msg: "{{ item }}"
|
||||
with_items: "{{ xs_vms.keys() }}"
|
||||
when: xs_vms[item]['power_state'] == "Running"
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ EXAMPLES = '''
|
|||
var: openstack_domains
|
||||
|
||||
# Gather facts about a previously created domain with filter
|
||||
- os_keystone_domain_facts
|
||||
- os_keystone_domain_facts:
|
||||
cloud: awesomecloud
|
||||
name: demodomain
|
||||
filters:
|
||||
|
|
|
@ -63,16 +63,15 @@ EXAMPLES = '''
|
|||
var: openstack_projects
|
||||
|
||||
# Gather facts about a previously created project in a specific domain
|
||||
- os_project_facts
|
||||
- os_project_facts:
|
||||
cloud: awesomecloud
|
||||
name: demoproject
|
||||
domain: admindomain
|
||||
- debug:
|
||||
var: openstack_projects
|
||||
|
||||
# Gather facts about a previously created project in a specific domain
|
||||
with filter
|
||||
- os_project_facts
|
||||
# Gather facts about a previously created project in a specific domain with filter
|
||||
- os_project_facts:
|
||||
cloud: awesomecloud
|
||||
name: demoproject
|
||||
domain: admindomain
|
||||
|
|
|
@ -86,12 +86,12 @@ EXAMPLES = '''
|
|||
bmc_flavor: m1.medium
|
||||
bmc_image: CentOS
|
||||
key_name: default
|
||||
private_net: {{ private_net_param }}
|
||||
private_net: "{{ private_net_param }}"
|
||||
node_count: 2
|
||||
name: undercloud
|
||||
image: CentOS
|
||||
my_flavor: m1.large
|
||||
external_net: {{ external_net_param }}
|
||||
external_net: "{{ external_net_param }}"
|
||||
'''
|
||||
|
||||
RETURN = '''
|
||||
|
|
|
@ -63,16 +63,15 @@ EXAMPLES = '''
|
|||
var: openstack_users
|
||||
|
||||
# Gather facts about a previously created user in a specific domain
|
||||
- os_user_facts
|
||||
- os_user_facts:
|
||||
cloud: awesomecloud
|
||||
name: demouser
|
||||
domain: admindomain
|
||||
- debug:
|
||||
var: openstack_users
|
||||
|
||||
# Gather facts about a previously created user in a specific domain
|
||||
with filter
|
||||
- os_user_facts
|
||||
# Gather facts about a previously created user in a specific domain with filter
|
||||
- os_user_facts:
|
||||
cloud: awesomecloud
|
||||
name: demouser
|
||||
domain: admindomain
|
||||
|
|
|
@ -102,7 +102,7 @@ tasks:
|
|||
# oVirt user's password, and include that yaml file with variable:
|
||||
- include_vars: ovirt_password.yml
|
||||
|
||||
- name: Obtain SSO token with using username/password credentials:
|
||||
- name: Obtain SSO token with using username/password credentials
|
||||
ovirt_auth:
|
||||
url: https://ovirt.example.com/ovirt-engine/api
|
||||
username: admin@internal
|
||||
|
|
|
@ -73,14 +73,14 @@ EXAMPLES = '''
|
|||
- ovirt_snapshots:
|
||||
vm_name: rhel7
|
||||
description: MySnapshot
|
||||
register: snapshot
|
||||
register: snapshot
|
||||
|
||||
# Create snapshot and save memory:
|
||||
- ovirt_snapshots:
|
||||
vm_name: rhel7
|
||||
description: SnapWithMem
|
||||
use_memory: true
|
||||
register: snapshot
|
||||
register: snapshot
|
||||
|
||||
# Restore snapshot:
|
||||
- ovirt_snapshots:
|
||||
|
|
|
@ -137,12 +137,12 @@ EXAMPLES = '''
|
|||
- name: Creates a new vApp in a VCA instance
|
||||
vca_vapp:
|
||||
vapp_name: tower
|
||||
state=present
|
||||
template_name='Ubuntu Server 12.04 LTS (amd64 20150127)'
|
||||
vdc_name=VDC1
|
||||
instance_id=<your instance id here>
|
||||
username=<your username here>
|
||||
password=<your password here>
|
||||
state: present
|
||||
template_name: 'Ubuntu Server 12.04 LTS (amd64 20150127)'
|
||||
vdc_name: VDC1
|
||||
instance_id: '<your instance id here>'
|
||||
username: '<your username here>'
|
||||
password: '<your password here>'
|
||||
|
||||
'''
|
||||
|
||||
|
|
|
@ -64,14 +64,16 @@ extends_documentation_fragment: vmware.documentation
|
|||
EXAMPLES = '''
|
||||
# Example vmware_cluster command from Ansible Playbooks
|
||||
- name: Create Cluster
|
||||
local_action: >
|
||||
vmware_cluster
|
||||
hostname="{{ ansible_ssh_host }}" username=root password=vmware
|
||||
datacenter_name="datacenter"
|
||||
cluster_name="cluster"
|
||||
enable_ha=True
|
||||
enable_drs=True
|
||||
enable_vsan=True
|
||||
local_action:
|
||||
module: vmware_cluster
|
||||
hostname: "{{ ansible_ssh_host }}"
|
||||
username: root
|
||||
password: vmware
|
||||
datacenter_name: "datacenter"
|
||||
cluster_name: "cluster"
|
||||
enable_ha: True
|
||||
enable_drs: True
|
||||
enable_vsan: True
|
||||
'''
|
||||
|
||||
try:
|
||||
|
|
|
@ -65,10 +65,13 @@ extends_documentation_fragment: vmware.documentation
|
|||
EXAMPLES = '''
|
||||
# Example vmware_datacenter command from Ansible Playbooks
|
||||
- name: Create Datacenter
|
||||
local_action: >
|
||||
vmware_datacenter
|
||||
hostname="{{ ansible_ssh_host }}" username=root password=vmware
|
||||
datacenter_name="datacenter" state=present
|
||||
local_action:
|
||||
module: vmware_datacenter
|
||||
hostname: "{{ ansible_ssh_host }}"
|
||||
username: root
|
||||
password: vmware
|
||||
datacenter_name: "datacenter"
|
||||
state: present
|
||||
'''
|
||||
|
||||
try:
|
||||
|
|
|
@ -68,7 +68,7 @@ extends_documentation_fragment: vmware.documentation
|
|||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
Example from Ansible playbook
|
||||
# Example from Ansible playbook
|
||||
|
||||
- name: Add ESXi Host to VCSA
|
||||
local_action:
|
||||
|
|
|
@ -64,7 +64,7 @@ extends_documentation_fragment: vmware.documentation
|
|||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
Example from Ansible playbook
|
||||
# Example from Ansible playbook
|
||||
|
||||
- name: Migrate Management vmk
|
||||
local_action:
|
||||
|
|
|
@ -60,7 +60,7 @@ extends_documentation_fragment: vmware.documentation
|
|||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
Example from Ansible playbook
|
||||
# Example from Ansible playbook
|
||||
|
||||
- name: Add Management Network VM Portgroup
|
||||
local_action:
|
||||
|
|
|
@ -45,10 +45,12 @@ extends_documentation_fragment: vmware.documentation
|
|||
EXAMPLES = '''
|
||||
# Example vmware_target_canonical_facts command from Ansible Playbooks
|
||||
- name: Get Canonical name
|
||||
local_action: >
|
||||
vmware_target_canonical_facts
|
||||
hostname="{{ ansible_ssh_host }}" username=root password=vmware
|
||||
target_id=7
|
||||
local_action:
|
||||
module: vmware_target_canonical_facts
|
||||
hostname: "{{ ansible_ssh_host }}"
|
||||
username: root
|
||||
password: vmware
|
||||
target_id: 7
|
||||
'''
|
||||
|
||||
try:
|
||||
|
|
|
@ -51,7 +51,7 @@ extends_documentation_fragment: vmware.documentation
|
|||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
Example from Ansible playbook
|
||||
# Example from Ansible playbook
|
||||
|
||||
- name: Perform vMotion of VM
|
||||
local_action:
|
||||
|
|
|
@ -65,7 +65,7 @@ extends_documentation_fragment: vmware.documentation
|
|||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
Example from Ansible playbook
|
||||
# Example from Ansible playbook
|
||||
|
||||
- name: Add a VMware vSwitch
|
||||
local_action:
|
||||
|
|
|
@ -153,6 +153,7 @@ requirements:
|
|||
|
||||
|
||||
EXAMPLES = '''
|
||||
---
|
||||
# Create a new VM on an ESX server
|
||||
# Returns changed = False when the VM already exists
|
||||
# Returns changed = True and a adds ansible_facts from the new VM
|
||||
|
@ -258,7 +259,7 @@ EXAMPLES = '''
|
|||
guest: newvm001
|
||||
vmware_guest_facts: yes
|
||||
|
||||
|
||||
---
|
||||
# Typical output of a vsphere_facts run on a guest
|
||||
# If vmware tools is not installed, ipadresses with return None
|
||||
|
||||
|
@ -277,22 +278,22 @@ EXAMPLES = '''
|
|||
hw_processor_count: 2
|
||||
hw_product_uuid: "ef50bac8-2845-40ff-81d9-675315501dac"
|
||||
|
||||
hw_power_status will be one of the following values:
|
||||
- POWERED ON
|
||||
- POWERED OFF
|
||||
- SUSPENDED
|
||||
- POWERING ON
|
||||
- POWERING OFF
|
||||
- SUSPENDING
|
||||
- RESETTING
|
||||
- BLOCKED ON MSG
|
||||
- REVERTING TO SNAPSHOT
|
||||
- UNKNOWN
|
||||
as seen in the VMPowerState-Class of PySphere: http://git.io/vlwOq
|
||||
# hw_power_status will be one of the following values:
|
||||
# - POWERED ON
|
||||
# - POWERED OFF
|
||||
# - SUSPENDED
|
||||
# - POWERING ON
|
||||
# - POWERING OFF
|
||||
# - SUSPENDING
|
||||
# - RESETTING
|
||||
# - BLOCKED ON MSG
|
||||
# - REVERTING TO SNAPSHOT
|
||||
# - UNKNOWN
|
||||
# as seen in the VMPowerState-Class of PySphere: http://git.io/vlwOq
|
||||
|
||||
---
|
||||
# Remove a vm from vSphere
|
||||
# The VM must be powered_off or you need to use force to force a shutdown
|
||||
|
||||
- vsphere_guest:
|
||||
vcenter_hostname: vcenter.mydomain.local
|
||||
username: myuser
|
||||
|
|
|
@ -76,5 +76,5 @@ EXAMPLES = '''
|
|||
executable: /bin/bash
|
||||
|
||||
- name: safely use templated variables. Always use quote filter to avoid injection issues.
|
||||
raw: {{package_mgr|quote}} {{pkg_flags|quote}} install {{python_simplejson|quote}}
|
||||
raw: "{{package_mgr|quote}} {{pkg_flags|quote}} install {{python_simplejson|quote}}"
|
||||
'''
|
||||
|
|
|
@ -183,7 +183,7 @@ EXAMPLES = """
|
|||
state: present
|
||||
|
||||
# Example privileges string format
|
||||
mydb.*:INSERT,UPDATE/anotherdb.*:SELECT/yetanotherdb.*:ALL
|
||||
# mydb.*:INSERT,UPDATE/anotherdb.*:SELECT/yetanotherdb.*:ALL
|
||||
|
||||
# Example using login_unix_socket to connect to server
|
||||
- mysql_user:
|
||||
|
@ -200,10 +200,9 @@ mydb.*:INSERT,UPDATE/anotherdb.*:SELECT/yetanotherdb.*:ALL
|
|||
sql_log_bin: no
|
||||
|
||||
# Example .my.cnf file for setting the root password
|
||||
|
||||
[client]
|
||||
user=root
|
||||
password=n<_665{vS43y
|
||||
# [client]
|
||||
# user=root
|
||||
# password=n<_665{vS43y
|
||||
"""
|
||||
|
||||
import getpass
|
||||
|
|
|
@ -189,7 +189,7 @@ EXAMPLES = '''
|
|||
state: absent
|
||||
|
||||
# Example privileges string format
|
||||
INSERT,UPDATE/table:SELECT/anothertable:ALL
|
||||
# INSERT,UPDATE/table:SELECT/anothertable:ALL
|
||||
|
||||
# Remove an existing user's password
|
||||
- postgresql_user:
|
||||
|
|
|
@ -244,7 +244,7 @@ EXAMPLES = '''
|
|||
links: yes
|
||||
|
||||
# Synchronization of two paths both on the control machine
|
||||
- synchronize
|
||||
- synchronize:
|
||||
src: some/relative/path
|
||||
dest: /some/absolute/path
|
||||
delegate_to: localhost
|
||||
|
@ -282,9 +282,9 @@ EXAMPLES = '''
|
|||
rsync_path: "su -c rsync"
|
||||
|
||||
# Example .rsync-filter file in the source directory
|
||||
- var # exclude any path whose last part is 'var'
|
||||
- /var # exclude any path starting with 'var' starting at the source directory
|
||||
+ /var/conf # include /var/conf even though it was previously excluded
|
||||
# - var # exclude any path whose last part is 'var'
|
||||
# - /var # exclude any path starting with 'var' starting at the source directory
|
||||
# + /var/conf # include /var/conf even though it was previously excluded
|
||||
|
||||
# Synchronize passing in extra rsync options
|
||||
- synchronize:
|
||||
|
|
|
@ -88,7 +88,7 @@ EXAMPLES = '''
|
|||
version: '1.3'
|
||||
token: '{{ bigpanda_token }}'
|
||||
state: started
|
||||
...
|
||||
|
||||
- bigpanda:
|
||||
component: myapp
|
||||
version: '1.3'
|
||||
|
@ -104,7 +104,7 @@ EXAMPLES = '''
|
|||
state: started
|
||||
delegate_to: localhost
|
||||
register: deployment
|
||||
...
|
||||
|
||||
- bigpanda:
|
||||
component: '{{ deployment.component }}'
|
||||
version: '{{ deployment.version }}'
|
||||
|
|
|
@ -122,7 +122,7 @@ datadog_monitor:
|
|||
type: "metric alert"
|
||||
name: "Test monitor"
|
||||
state: "present"
|
||||
query: "datadog.agent.up".over("host:host1").last(2).count_by_status()"
|
||||
query: "datadog.agent.up.over('host:host1').last(2).count_by_status()"
|
||||
message: "Host [[host.name]] with IP [[host.ip]] is failing to report to datadog."
|
||||
api_key: "9775a026f1ca7d1c6c5af9d94d9595a4"
|
||||
app_key: "87ce4a24b5553d2e482ea8a8500e71b8ad4554ff"
|
||||
|
|
|
@ -230,7 +230,7 @@ EXAMPLES = '''
|
|||
tasks:
|
||||
- name: Create a host group
|
||||
# All tasks except for target=collector should use delegate_to: localhost
|
||||
logicmonitor
|
||||
logicmonitor:
|
||||
target: hostgroup
|
||||
action: add
|
||||
fullpath: /servers/development
|
||||
|
|
|
@ -102,6 +102,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -111,6 +112,7 @@ vars:
|
|||
authorize: yes
|
||||
auth_pass: cisco
|
||||
|
||||
---
|
||||
- asa_acl:
|
||||
lines:
|
||||
- access-list ACL-ANSIBLE extended permit tcp any any eq 82
|
||||
|
|
|
@ -84,6 +84,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -93,7 +94,7 @@ vars:
|
|||
auth_pass: cisco
|
||||
transport: cli
|
||||
|
||||
|
||||
---
|
||||
- asa_command:
|
||||
commands:
|
||||
- show version
|
||||
|
|
|
@ -172,6 +172,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -181,6 +182,7 @@ vars:
|
|||
auth_pass: cisco
|
||||
transport: cli
|
||||
|
||||
---
|
||||
- asa_config:
|
||||
lines:
|
||||
- network-object host 10.80.30.18
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Ansible module to manage Big Monitoring Fabric service chains
|
||||
# (c) 2016, Ted Elhourani <ted@bigswitch.com>
|
||||
# (c) 2016, Ted Elhourani <ted@bigswitch.com>,
|
||||
#
|
||||
# This file is part of Ansible
|
||||
#
|
||||
|
|
|
@ -84,6 +84,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -91,6 +92,7 @@ vars:
|
|||
password: admin
|
||||
transport: cli
|
||||
|
||||
---
|
||||
- name: run display version on remote devices
|
||||
ce_command:
|
||||
commands: display version
|
||||
|
|
|
@ -186,6 +186,7 @@ EXAMPLES = '''
|
|||
|
||||
# In vars file
|
||||
# ============
|
||||
---
|
||||
cl_bonds:
|
||||
bond0:
|
||||
alias_name: uplink to isp
|
||||
|
|
|
@ -140,6 +140,7 @@ EXAMPLES = '''
|
|||
|
||||
# In vars file
|
||||
# ============
|
||||
---
|
||||
cl_bridge:
|
||||
br0:
|
||||
alias_name: 'vlan aware bridge'
|
||||
|
|
|
@ -146,7 +146,7 @@ EXAMPLES = '''
|
|||
# define cl_interfaces once in tasks
|
||||
# then write interfaces in variables file
|
||||
# with just the options you want.
|
||||
- name: Create interfaces
|
||||
- name: Create interfaces
|
||||
cl_interface:
|
||||
name: '{{ item.key }}'
|
||||
ipv4: '{{ item.value.ipv4 | default(omit) }}'
|
||||
|
@ -170,6 +170,7 @@ EXAMPLES = '''
|
|||
|
||||
# In vars file
|
||||
# ============
|
||||
---
|
||||
cl_interfaces:
|
||||
swp1:
|
||||
alias_name: uplink to isp
|
||||
|
|
|
@ -49,7 +49,7 @@ options:
|
|||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
Example playbook entries using the cl_interface_policy module.
|
||||
# Example playbook entries using the cl_interface_policy module.
|
||||
|
||||
- name: shows types of interface ranges supported
|
||||
cl_interface_policy:
|
||||
|
|
|
@ -89,10 +89,7 @@ EXAMPLES = '''
|
|||
state: reloaded
|
||||
|
||||
# Force all switches to accept a new license. Typically not needed
|
||||
ansible -m cl_license -a "src='http://10.1.1.1/new_lic' force=yes" -u root all
|
||||
|
||||
----
|
||||
|
||||
# ansible -m cl_license -a "src='http://10.1.1.1/new_lic' force=yes" -u root all
|
||||
'''
|
||||
|
||||
RETURN = '''
|
||||
|
|
|
@ -87,20 +87,20 @@ tasks:
|
|||
- name: run show version on remote devices
|
||||
dellos6_command:
|
||||
commands: show version
|
||||
provider "{{ cli }}"
|
||||
provider: "{{ cli }}"
|
||||
|
||||
- name: run show version and check to see if output contains Dell
|
||||
dellos6_command:
|
||||
commands: show version
|
||||
wait_for: result[0] contains Dell
|
||||
provider "{{ cli }}"
|
||||
provider: "{{ cli }}"
|
||||
|
||||
- name: run multiple commands on remote nodes
|
||||
dellos6_command:
|
||||
commands:
|
||||
- show version
|
||||
- show interfaces
|
||||
provider "{{ cli }}"
|
||||
provider: "{{ cli }}"
|
||||
|
||||
- name: run multiple commands and evaluate the output
|
||||
dellos6_command:
|
||||
|
@ -110,7 +110,7 @@ tasks:
|
|||
wait_for:
|
||||
- result[0] contains Dell
|
||||
- result[1] contains Access
|
||||
provider "{{ cli }}"
|
||||
provider: "{{ cli }}"
|
||||
"""
|
||||
|
||||
RETURN = """
|
||||
|
|
|
@ -136,7 +136,7 @@ EXAMPLES = '''
|
|||
delegate_to: localhost
|
||||
|
||||
# create a my.com CNAME record to example.com
|
||||
- dnsimple
|
||||
- dnsimple:
|
||||
domain: my.com
|
||||
record: ''
|
||||
type: CNAME
|
||||
|
|
|
@ -199,7 +199,7 @@ EXAMPLES = '''
|
|||
state: "present"
|
||||
name: "my-pool"
|
||||
partition: "Common"
|
||||
host: "{{ ansible_default_ipv4["address"] }}"
|
||||
host: "{{ ansible_default_ipv4['address'] }}"
|
||||
port: 80
|
||||
|
||||
- name: Remove pool member from pool
|
||||
|
@ -210,7 +210,7 @@ EXAMPLES = '''
|
|||
state: "absent"
|
||||
name: "my-pool"
|
||||
partition: "Common"
|
||||
host: "{{ ansible_default_ipv4["address"] }}"
|
||||
host: "{{ ansible_default_ipv4['address'] }}"
|
||||
port: 80
|
||||
|
||||
- name: Delete pool
|
||||
|
|
|
@ -132,7 +132,7 @@ EXAMPLES = '''
|
|||
state: "present"
|
||||
pool: "my-pool"
|
||||
partition: "Common"
|
||||
host: "{{ ansible_default_ipv4["address"] }}"
|
||||
host: "{{ ansible_default_ipv4['address'] }}"
|
||||
port: 80
|
||||
description: "web server"
|
||||
connection_limit: 100
|
||||
|
@ -148,7 +148,7 @@ EXAMPLES = '''
|
|||
state: "present"
|
||||
pool: "my-pool"
|
||||
partition: "Common"
|
||||
host: "{{ ansible_default_ipv4["address"] }}"
|
||||
host: "{{ ansible_default_ipv4['address'] }}"
|
||||
port: 80
|
||||
ratio: 1
|
||||
description: "nginx server"
|
||||
|
@ -162,7 +162,7 @@ EXAMPLES = '''
|
|||
state: "absent"
|
||||
pool: "my-pool"
|
||||
partition: "Common"
|
||||
host: "{{ ansible_default_ipv4["address"] }}"
|
||||
host: "{{ ansible_default_ipv4['address'] }}"
|
||||
port: 80
|
||||
delegate_to: localhost
|
||||
|
||||
|
@ -190,7 +190,7 @@ EXAMPLES = '''
|
|||
monitor_state: "disabled"
|
||||
pool: "my-pool"
|
||||
partition: "Common"
|
||||
host: "{{ ansible_default_ipv4["address"] }}"
|
||||
host: "{{ ansible_default_ipv4['address'] }}"
|
||||
port: 80
|
||||
delegate_to: localhost
|
||||
'''
|
||||
|
|
|
@ -49,6 +49,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -56,6 +57,7 @@ vars:
|
|||
password: cisco
|
||||
transport: cli
|
||||
|
||||
---
|
||||
# Collect all facts from the device
|
||||
- ios_facts:
|
||||
gather_subset: all
|
||||
|
|
|
@ -99,10 +99,12 @@ EXAMPLES = """
|
|||
comment: update system config
|
||||
|
||||
- name: replace config hierarchy
|
||||
junos_template:
|
||||
src: config.j2
|
||||
action: replace
|
||||
|
||||
- name: overwrite the config
|
||||
junos_template:
|
||||
src: config.j2
|
||||
action: overwrite
|
||||
"""
|
||||
|
|
|
@ -110,12 +110,14 @@ notes:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
netconf:
|
||||
host: "{{ inventory_hostname }}"
|
||||
username: ansible
|
||||
password: Ansible
|
||||
|
||||
---
|
||||
- name: run a set of commands
|
||||
junos_command:
|
||||
commands: ['show version', 'show ip route']
|
||||
|
|
|
@ -146,12 +146,14 @@ notes:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
netconf:
|
||||
host: "{{ inventory_hostname }}"
|
||||
username: ansible
|
||||
password: Ansible
|
||||
|
||||
---
|
||||
- name: load configure file into device
|
||||
junos_config:
|
||||
src: srx.cfg
|
||||
|
|
|
@ -58,6 +58,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -65,6 +66,7 @@ vars:
|
|||
password: Ansible
|
||||
transport: cli
|
||||
|
||||
---
|
||||
- name: enable netconf service on port 830
|
||||
junos_netconf:
|
||||
listens_on: 830
|
||||
|
|
|
@ -394,8 +394,6 @@ EXAMPLES='''
|
|||
- '{{ nmcli_ethernet }}'
|
||||
|
||||
## playbook-del.yml example
|
||||
|
||||
---
|
||||
- hosts: openstack-stage
|
||||
remote_user: root
|
||||
tasks:
|
||||
|
|
|
@ -259,8 +259,8 @@ options:
|
|||
choices: ['present','absent']
|
||||
'''
|
||||
EXAMPLES = '''
|
||||
configure RR client
|
||||
- nxos_bgp_neighbor_af:
|
||||
- name: configure RR client
|
||||
nxos_bgp_neighbor_af:
|
||||
asn: 65535
|
||||
neighbor: '3.3.3.3'
|
||||
afi: ipv4
|
||||
|
|
|
@ -91,6 +91,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -98,6 +99,7 @@ vars:
|
|||
password: admin
|
||||
transport: cli
|
||||
|
||||
---
|
||||
- name: run show version on remote devices
|
||||
nxos_command:
|
||||
commands: show version
|
||||
|
|
|
@ -164,6 +164,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -171,6 +172,7 @@ vars:
|
|||
password: admin
|
||||
transport: cli
|
||||
|
||||
---
|
||||
- name: configure top level configuration and save it
|
||||
nxos_config:
|
||||
lines: hostname {{ inventory_hostname }}
|
||||
|
|
|
@ -53,6 +53,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -60,6 +61,7 @@ vars:
|
|||
password: admin
|
||||
transport: cli
|
||||
|
||||
---
|
||||
- nxos_facts:
|
||||
gather_subset: all
|
||||
|
||||
|
|
|
@ -89,48 +89,49 @@ options:
|
|||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
- name Ensure an interface is a Layer 3 port and that it has the proper description
|
||||
- name: Ensure an interface is a Layer 3 port and that it has the proper description
|
||||
nxos_interface:
|
||||
interface: Ethernet1/1
|
||||
description: 'Configured by Ansible'
|
||||
mode: layer3
|
||||
host: 68.170.147.165
|
||||
|
||||
- name Admin down an interface
|
||||
- name: Admin down an interface
|
||||
nxos_interface:
|
||||
interface: Ethernet2/1
|
||||
host: 68.170.147.165
|
||||
admin_state: down
|
||||
|
||||
- name Remove all loopback interfaces
|
||||
- name: Remove all loopback interfaces
|
||||
nxos_interface:
|
||||
interface: loopback
|
||||
state: absent
|
||||
host: 68.170.147.165
|
||||
|
||||
- name Remove all logical interfaces
|
||||
- name: Remove all logical interfaces
|
||||
nxos_interface:
|
||||
interface_type: "{{ item }} "
|
||||
state: absent
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
||||
with_items:
|
||||
- loopback
|
||||
- portchannel
|
||||
- svi
|
||||
- nve
|
||||
- name Admin up all ethernet interfaces
|
||||
|
||||
- name: Admin up all ethernet interfaces
|
||||
nxos_interface:
|
||||
interface: ethernet
|
||||
host: 68.170.147.165
|
||||
admin_state: up
|
||||
|
||||
- name Admin down ALL interfaces (physical and logical)
|
||||
- name: Admin down ALL interfaces (physical and logical)
|
||||
nxos_interface:
|
||||
interface: all
|
||||
host: 68.170.147.165
|
||||
admin_state: down
|
||||
'''
|
||||
|
||||
RETURN = '''
|
||||
proposed:
|
||||
description: k/v pairs of parameters passed into module
|
||||
|
|
|
@ -85,6 +85,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -92,6 +93,7 @@ vars:
|
|||
password: netop
|
||||
transport: cli
|
||||
|
||||
---
|
||||
- ops_command:
|
||||
commands:
|
||||
- show version
|
||||
|
|
|
@ -139,12 +139,14 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
username: netop
|
||||
password: netop
|
||||
|
||||
---
|
||||
- name: configure hostname over cli
|
||||
ops_config:
|
||||
lines:
|
||||
|
|
|
@ -73,6 +73,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -85,6 +86,7 @@ vars:
|
|||
password: netop
|
||||
transport: rest
|
||||
|
||||
---
|
||||
- ops_facts:
|
||||
gather_subset: all
|
||||
provider: "{{ rest }}"
|
||||
|
|
|
@ -85,6 +85,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -92,6 +93,7 @@ vars:
|
|||
password: admin
|
||||
transport: cli
|
||||
|
||||
---
|
||||
tasks:
|
||||
- name: run show version on remote devices
|
||||
sros_command:
|
||||
|
|
|
@ -160,6 +160,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -167,6 +168,7 @@ vars:
|
|||
password: admin
|
||||
transport: cli
|
||||
|
||||
---
|
||||
- name: enable rollback location
|
||||
sros_config:
|
||||
lines: configure system rollback rollback-location "cf3:/ansible"
|
||||
|
|
|
@ -79,6 +79,7 @@ options:
|
|||
EXAMPLES = """
|
||||
# Note: examples below use the following provider dict to handle
|
||||
# transport and authentication to the node.
|
||||
---
|
||||
vars:
|
||||
cli:
|
||||
host: "{{ inventory_hostname }}"
|
||||
|
@ -86,6 +87,7 @@ vars:
|
|||
password: admin
|
||||
transport: cli
|
||||
|
||||
---
|
||||
- name: configure rollback location
|
||||
sros_rollback:
|
||||
rollback_location: "cb3:/ansible"
|
||||
|
|
|
@ -84,7 +84,7 @@ EXAMPLES = '''
|
|||
msg: Ansible task finished
|
||||
|
||||
# send a message, specifying the host and port
|
||||
- jabber
|
||||
- jabber:
|
||||
user: mybot@example.net
|
||||
host: talk.example.net
|
||||
port: 5223
|
||||
|
|
|
@ -124,7 +124,7 @@ EXAMPLES = '''
|
|||
delegate_to: localhost
|
||||
|
||||
# send an email to more than one recipient that the build failed
|
||||
- sendgrid
|
||||
- sendgrid:
|
||||
username: "{{ sendgrid_username }}"
|
||||
password: "{{ sendgrid_password }}"
|
||||
from_address: "build@mycompany.com"
|
||||
|
|
|
@ -162,7 +162,7 @@ EXAMPLES = """
|
|||
title: System load
|
||||
fields:
|
||||
- title: System A
|
||||
value: load average: 0,74, 0,66, 0,63"
|
||||
value: "load average: 0,74, 0,66, 0,63"
|
||||
short: True
|
||||
- title: System B
|
||||
value: 'load average: 5,16, 4,64, 2,43'
|
||||
|
|
|
@ -54,8 +54,8 @@ options:
|
|||
|
||||
EXAMPLES = """
|
||||
|
||||
send a message to chat in playbook
|
||||
- telegram:
|
||||
- name: send a message to chat in playbook
|
||||
telegram:
|
||||
token: 'bot9999999:XXXXXXXXXXXXXXXXXXXXXXX'
|
||||
chat_id: 000000
|
||||
msg: Ansible task finished
|
||||
|
|
|
@ -81,44 +81,44 @@ options:
|
|||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
description: Install "coffee-script" node.js package.
|
||||
- npm:
|
||||
- name: Install "coffee-script" node.js package.
|
||||
npm:
|
||||
name: coffee-script
|
||||
path: /app/location
|
||||
|
||||
description: Install "coffee-script" node.js package on version 1.6.1.
|
||||
- npm:
|
||||
- name: Install "coffee-script" node.js package on version 1.6.1.
|
||||
npm:
|
||||
name: coffee-script
|
||||
version: '1.6.1'
|
||||
path: /app/location
|
||||
|
||||
description: Install "coffee-script" node.js package globally.
|
||||
- npm:
|
||||
- name: Install "coffee-script" node.js package globally.
|
||||
npm:
|
||||
name: coffee-script
|
||||
global: yes
|
||||
|
||||
description: Remove the globally package "coffee-script".
|
||||
- npm:
|
||||
- name: Remove the globally package "coffee-script".
|
||||
npm:
|
||||
name: coffee-script
|
||||
global: yes
|
||||
state: absent
|
||||
|
||||
description: Install "coffee-script" node.js package from custom registry.
|
||||
- npm:
|
||||
- name: Install "coffee-script" node.js package from custom registry.
|
||||
npm:
|
||||
name: coffee-script
|
||||
registry: 'http://registry.mysite.com'
|
||||
|
||||
description: Install packages based on package.json.
|
||||
- npm:
|
||||
- name: Install packages based on package.json.
|
||||
npm:
|
||||
path: /app/location
|
||||
|
||||
description: Update packages based on package.json to their latest version.
|
||||
- npm:
|
||||
- name: Update packages based on package.json to their latest version.
|
||||
npm:
|
||||
path: /app/location
|
||||
state: latest
|
||||
|
||||
description: Install packages based on package.json using the npm installed with nvm v0.10.1.
|
||||
- npm:
|
||||
- name: Install packages based on package.json using the npm installed with nvm v0.10.1.
|
||||
npm:
|
||||
path: /app/location
|
||||
executable: /opt/nvm/v0.10.1/bin/npm
|
||||
state: present
|
||||
|
|
|
@ -128,8 +128,8 @@ EXAMPLES = '''
|
|||
|
||||
# Playbook: make sure spells with/without required dependencies (if any) are installed
|
||||
- sorcery:
|
||||
name: {{ item.spell }}
|
||||
depends: {{ item.depends | default(None) }}
|
||||
name: "{{ item.spell }}"
|
||||
depends: "{{ item.depends | default(None) }}"
|
||||
state: present
|
||||
with_items:
|
||||
- { spell: 'vifm', depends: '+file,-gtk+2' }
|
||||
|
|
|
@ -145,7 +145,7 @@ EXAMPLES = '''
|
|||
|
||||
# Force refresh of a repository
|
||||
- zypper_repository:
|
||||
repo: 'http://my_internal_ci_repo/repo
|
||||
repo: 'http://my_internal_ci_repo/repo'
|
||||
name: my_ci_repo
|
||||
state: present
|
||||
runrefresh: yes
|
||||
|
|
|
@ -57,7 +57,8 @@ options:
|
|||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
Simple Example:
|
||||
---
|
||||
# Simple Example:
|
||||
|
||||
- name: "Create Product"
|
||||
local_action:
|
||||
|
@ -69,9 +70,8 @@ Simple Example:
|
|||
params:
|
||||
name: "Centos 7"
|
||||
|
||||
Abstraction Example:
|
||||
|
||||
katello.yml
|
||||
# Abstraction Example:
|
||||
# katello.yml
|
||||
---
|
||||
- name: "{{ name }}"
|
||||
local_action:
|
||||
|
@ -82,7 +82,7 @@ katello.yml
|
|||
entity: "{{ entity }}"
|
||||
params: "{{ params }}"
|
||||
|
||||
tasks.yml
|
||||
# tasks.yml
|
||||
---
|
||||
- include: katello.yml
|
||||
vars:
|
||||
|
|
|
@ -96,7 +96,7 @@ EXAMPLES = """
|
|||
- name: Snapshot volume
|
||||
netapp_e_snapshot_volume:
|
||||
ssid: "{{ ssid }}"
|
||||
api_url: "{{ netapp_api_url }}"/
|
||||
api_url: "{{ netapp_api_url }}/"
|
||||
api_username: "{{ netapp_api_username }}"
|
||||
api_password: "{{ netapp_api_password }}"
|
||||
state: present
|
||||
|
|
|
@ -78,13 +78,19 @@ options:
|
|||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
name: Gather facts about ZFS dataset rpool/export/home
|
||||
zfs_facts: dataset=rpool/export/home
|
||||
- name: Gather facts about ZFS dataset rpool/export/home
|
||||
zfs_facts:
|
||||
dataset: rpool/export/home
|
||||
|
||||
name: Report space usage on ZFS filesystems under data/home
|
||||
zfs_facts: name=data/home recurse=yes type=filesystem
|
||||
debug: msg='ZFS dataset {{ item.name }} consumes {{ item.used }} of disk space.'
|
||||
with_items: '{{ ansible_zfs_datasets }}
|
||||
- name: Report space usage on ZFS filesystems under data/home
|
||||
zfs_facts:
|
||||
name: data/home
|
||||
recurse: yes
|
||||
type: filesystem
|
||||
|
||||
- debug:
|
||||
msg: 'ZFS dataset {{ item.name }} consumes {{ item.used }} of disk space.'
|
||||
with_items: '{{ ansible_zfs_datasets }}'
|
||||
'''
|
||||
|
||||
RETURN = '''
|
||||
|
|
|
@ -91,7 +91,7 @@ EXAMPLES = '''
|
|||
state: opts_present
|
||||
opts: discard
|
||||
with_items: '{{ ansible_mounts }}'
|
||||
when: '/dev/mapper/luks-' in {{ item.device }}
|
||||
when: "'/dev/mapper/luks-' in {{ item.device }}"
|
||||
'''
|
||||
|
||||
from ansible.module_utils.basic import *
|
||||
|
|
|
@ -136,7 +136,7 @@ EXAMPLES = """
|
|||
control: required
|
||||
module_path: pam_faillock.so
|
||||
new_type: auth
|
||||
new_control=sufficient
|
||||
new_control: sufficient
|
||||
new_module_path: pam_faillock.so
|
||||
state: after
|
||||
|
||||
|
|
|
@ -92,28 +92,28 @@ author:
|
|||
|
||||
EXAMPLES = """
|
||||
# Display facts from all hosts and store them indexed by I(hostname) at C(/tmp/facts).
|
||||
ansible all -m setup --tree /tmp/facts
|
||||
# ansible all -m setup --tree /tmp/facts
|
||||
|
||||
# Display only facts regarding memory found by ansible on all hosts and output them.
|
||||
ansible all -m setup -a 'filter=ansible_*_mb'
|
||||
# ansible all -m setup -a 'filter=ansible_*_mb'
|
||||
|
||||
# Display only facts returned by facter.
|
||||
ansible all -m setup -a 'filter=facter_*'
|
||||
# ansible all -m setup -a 'filter=facter_*'
|
||||
|
||||
# Display only facts about certain interfaces.
|
||||
ansible all -m setup -a 'filter=ansible_eth[0-2]'
|
||||
# ansible all -m setup -a 'filter=ansible_eth[0-2]'
|
||||
|
||||
# Restrict additional gathered facts to network and virtual.
|
||||
ansible all -m setup -a 'gather_subset=network,virtual'
|
||||
# ansible all -m setup -a 'gather_subset=network,virtual'
|
||||
|
||||
# Do not call puppet facter or ohai even if present.
|
||||
ansible all -m setup -a 'gather_subset=!facter,!ohai'
|
||||
# ansible all -m setup -a 'gather_subset=!facter,!ohai'
|
||||
|
||||
# Only collect the minimum amount of facts:
|
||||
ansible all -m setup -a 'gather_subset=!all'
|
||||
# ansible all -m setup -a 'gather_subset=!all'
|
||||
|
||||
# Display facts from Windows hosts with custom facts stored in C(C:\\custom_facts).
|
||||
ansible windows -m setup -a "fact_path='c:\\custom_facts'"
|
||||
# ansible windows -m setup -a "fact_path='c:\\custom_facts'"
|
||||
"""
|
||||
|
||||
|
||||
|
|
|
@ -130,42 +130,42 @@ EXAMPLES = '''
|
|||
|
||||
# General explanation, starting with an example folder structure for a project:
|
||||
|
||||
root:
|
||||
releases:
|
||||
- 20140415234508
|
||||
- 20140415235146
|
||||
- 20140416082818
|
||||
|
||||
shared:
|
||||
- sessions
|
||||
- uploads
|
||||
|
||||
current: -> releases/20140416082818
|
||||
# root:
|
||||
# releases:
|
||||
# - 20140415234508
|
||||
# - 20140415235146
|
||||
# - 20140416082818
|
||||
#
|
||||
# shared:
|
||||
# - sessions
|
||||
# - uploads
|
||||
#
|
||||
# current: releases/20140416082818
|
||||
|
||||
|
||||
The 'releases' folder holds all the available releases. A release is a complete build of the application being
|
||||
deployed. This can be a clone of a repository for example, or a sync of a local folder on your filesystem.
|
||||
Having timestamped folders is one way of having distinct releases, but you could choose your own strategy like
|
||||
git tags or commit hashes.
|
||||
|
||||
During a deploy, a new folder should be created in the releases folder and any build steps required should be
|
||||
performed. Once the new build is ready, the deploy procedure is 'finalized' by replacing the 'current' symlink
|
||||
with a link to this build.
|
||||
|
||||
The 'shared' folder holds any resource that is shared between releases. Examples of this are web-server
|
||||
session files, or files uploaded by users of your application. It's quite common to have symlinks from a release
|
||||
folder pointing to a shared/subfolder, and creating these links would be automated as part of the build steps.
|
||||
|
||||
The 'current' symlink points to one of the releases. Probably the latest one, unless a deploy is in progress.
|
||||
The web-server's root for the project will go through this symlink, so the 'downtime' when switching to a new
|
||||
release is reduced to the time it takes to switch the link.
|
||||
|
||||
To distinguish between successful builds and unfinished ones, a file can be placed in the folder of the release
|
||||
that is currently in progress. The existence of this file will mark it as unfinished, and allow an automated
|
||||
procedure to remove it during cleanup.
|
||||
# The 'releases' folder holds all the available releases. A release is a complete build of the application being
|
||||
# deployed. This can be a clone of a repository for example, or a sync of a local folder on your filesystem.
|
||||
# Having timestamped folders is one way of having distinct releases, but you could choose your own strategy like
|
||||
# git tags or commit hashes.
|
||||
#
|
||||
# During a deploy, a new folder should be created in the releases folder and any build steps required should be
|
||||
# performed. Once the new build is ready, the deploy procedure is 'finalized' by replacing the 'current' symlink
|
||||
# with a link to this build.
|
||||
#
|
||||
# The 'shared' folder holds any resource that is shared between releases. Examples of this are web-server
|
||||
# session files, or files uploaded by users of your application. It's quite common to have symlinks from a release
|
||||
# folder pointing to a shared/subfolder, and creating these links would be automated as part of the build steps.
|
||||
#
|
||||
# The 'current' symlink points to one of the releases. Probably the latest one, unless a deploy is in progress.
|
||||
# The web-server's root for the project will go through this symlink, so the 'downtime' when switching to a new
|
||||
# release is reduced to the time it takes to switch the link.
|
||||
#
|
||||
# To distinguish between successful builds and unfinished ones, a file can be placed in the folder of the release
|
||||
# that is currently in progress. The existence of this file will mark it as unfinished, and allow an automated
|
||||
# procedure to remove it during cleanup.
|
||||
|
||||
|
||||
# Typical usage:
|
||||
# Typical usage
|
||||
- name: Initialize the deploy root and gather facts
|
||||
deploy_helper:
|
||||
path: /path/to/root
|
||||
|
|
|
@ -61,7 +61,7 @@ notes:
|
|||
- The ejabberd configuration file must include mod_admin_extra as a module.
|
||||
'''
|
||||
EXAMPLES = '''
|
||||
Example playbook entries using the ejabberd_user module to manage users state.
|
||||
# Example playbook entries using the ejabberd_user module to manage users state.
|
||||
|
||||
- name: create a user if it does not exists
|
||||
ejabberd_user:
|
||||
|
|
|
@ -129,6 +129,7 @@ EXAMPLES = r'''
|
|||
|
||||
# Remove previously added rule for IIS_IUSRS
|
||||
- name: Remove FullControl AccessRule for IIS_IUSRS
|
||||
win_acl:
|
||||
path: C:\inetpub\wwwroot\MySite
|
||||
user: IIS_IUSRS
|
||||
rights: FullControl
|
||||
|
@ -139,6 +140,7 @@ EXAMPLES = r'''
|
|||
|
||||
# Deny Intern
|
||||
- name: Deny Deny
|
||||
win_acl:
|
||||
path: C:\Administrator\Documents
|
||||
user: Intern
|
||||
rights: Read,Write,Modify,FullControl,Delete
|
||||
|
|
|
@ -149,7 +149,7 @@ EXAMPLES = r'''
|
|||
# Find files in path based on regex pattern
|
||||
- win_find:
|
||||
paths: D:\temp
|
||||
patterns: "out_\d{8}-\d{6}.log"
|
||||
patterns: 'out_\d{8}-\d{6}.log'
|
||||
|
||||
# Find files older than 1 day
|
||||
- win_find:
|
||||
|
|
|
@ -113,7 +113,7 @@ EXAMPLES = r'''
|
|||
|
||||
# Specify multiple non-zero return codes when successful
|
||||
# In this case we can say that both 0 (SUCCESSFUL) and 3010 (REBOOT REQUIRED) codes are acceptable
|
||||
- name: 'Microsoft .NET Framework 4.5.1'
|
||||
- name: 'Microsoft .NET Framework 4.5.1'
|
||||
win_package:
|
||||
path: https://download.microsoft.com/download/1/6/7/167F0D79-9317-48AE-AEDB-17120579F8E2/NDP451-KB2858728-x86-x64-AllOS-ENU.exe
|
||||
productid: '{7DEBE4EB-6B40-3766-BB35-5CBBC385DA37}'
|
||||
|
|
|
@ -75,11 +75,11 @@ EXAMPLES = r'''
|
|||
- name: Ensure that system32 and Powershell are present on the global system path, and in the specified order
|
||||
win_path:
|
||||
elements:
|
||||
- %SystemRoot%\system32
|
||||
- %SystemRoot%\system32\WindowsPowerShell\v1.0
|
||||
- '%SystemRoot%\system32'
|
||||
- '%SystemRoot%\system32\WindowsPowerShell\v1.0'
|
||||
|
||||
- name: Ensure that C:\Program Files\MyJavaThing is not on the current user's CLASSPATH
|
||||
win_path
|
||||
win_path:
|
||||
name: CLASSPATH
|
||||
elements: C:\Program Files\MyJavaThing
|
||||
scope: user
|
||||
|
|
|
@ -42,7 +42,7 @@ author: "Chris Church (@cchurch)"
|
|||
|
||||
EXAMPLES = r'''
|
||||
# Test connectivity to a windows host
|
||||
ansible winserver -m win_ping
|
||||
# ansible winserver -m win_ping
|
||||
|
||||
# Example from an Ansible Playbook
|
||||
- win_ping:
|
||||
|
|
|
@ -89,7 +89,6 @@ EXAMPLES = r'''
|
|||
creates: C:\Users\Phil\OldLogs
|
||||
|
||||
# This playbook example unzips a .zip file and recursively decompresses the contained .gz files and removes all unneeded compressed files after completion.
|
||||
---
|
||||
- name: Unzip ApplicationLogs.zip and decompress all GZipped log files
|
||||
hosts: all
|
||||
gather_facts: false
|
||||
|
@ -102,14 +101,14 @@ EXAMPLES = r'''
|
|||
rm: true
|
||||
|
||||
# Install PSCX to use for extracting a gz file
|
||||
- name: Grab PSCX msi
|
||||
- name: Grab PSCX msi
|
||||
win_get_url:
|
||||
url: http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=pscx&DownloadId=923562&FileTime=130585918034470000&Build=20959
|
||||
dest: C:\pscx.msi
|
||||
- name: Install PSCX
|
||||
- name: Install PSCX
|
||||
win_msi:
|
||||
path: C:\pscx.msi
|
||||
- name: Unzip gz log
|
||||
- name: Unzip gz log
|
||||
win_unzip:
|
||||
src: C:\Logs\application-error-logs.gz
|
||||
dest: C:\ExtractedLogs\application-error-logs
|
||||
|
|
|
@ -71,12 +71,20 @@ class CaptureStd():
|
|||
return self.stdout.getvalue(), self.stderr.getvalue()
|
||||
|
||||
|
||||
def parse_yaml(value, lineno, module, name):
|
||||
def parse_yaml(value, lineno, module, name, load_all=False):
|
||||
traces = []
|
||||
errors = []
|
||||
data = None
|
||||
|
||||
if load_all:
|
||||
loader = yaml.safe_load_all
|
||||
else:
|
||||
loader = yaml.safe_load
|
||||
|
||||
try:
|
||||
data = yaml.safe_load(value)
|
||||
data = loader(value)
|
||||
if load_all:
|
||||
data = list(data)
|
||||
except yaml.MarkedYAMLError as e:
|
||||
e.problem_mark.line += lineno - 1
|
||||
e.problem_mark.name = '%s.%s' % (module, name)
|
||||
|
|
|
@ -471,6 +471,12 @@ class ModuleValidator(Validator):
|
|||
|
||||
if not bool(doc_info['EXAMPLES']['value']):
|
||||
self.errors.append('No EXAMPLES provided')
|
||||
else:
|
||||
_, errors, traces = parse_yaml(doc_info['EXAMPLES']['value'],
|
||||
doc_info['EXAMPLES']['lineno'],
|
||||
self.name, 'EXAMPLES', load_all=True)
|
||||
self.errors.extend(errors)
|
||||
self.traces.extend(traces)
|
||||
|
||||
if not bool(doc_info['RETURN']['value']):
|
||||
if self._is_new_module():
|
||||
|
|
Loading…
Reference in a new issue