Merge branch 'devel' into mazer_role_loader
* devel: (513 commits) Fix systemd service is already masked issue (#44730) fix issue with no_log in py3 modules/terraform: Quote the variable values in the command line (#43493) YUM4/DNF compatibility via yum action plugin (#44322) BOTMETA.yml: remove superfluous labels (#44628) Share the implementation of hashing for both vars_prompt and password_hash (#21215) one_host environment variables, Fixes #44163 (#44568) ec2: add "IAM Role" to instance_profile_name ios_vrf speed fix (#43765) fix typo (#44712) junos cli_config idempotence fix (#44706) Switch to LiteralPath instead of Path. Closes #44508 (#44509) Module win_domain_computer fix delete computer with child (#44500) ACME: improve documentation (#44691) doc: fixed typo (#44685) IPA: Add option to specify timeout (#44572) Added nios_txt_record module (#39264) adds the bigip_cli_script module (#44674) Clean up BOTMETA.yml (#44574) Change validate-modules for removed modules ...
This commit is contained in:
commit
1f55cf4ed4
609
.github/BOTMETA.yml
vendored
609
.github/BOTMETA.yml
vendored
|
@ -36,352 +36,143 @@ automerge: True
|
|||
files:
|
||||
.github/BOTMETA.yml:
|
||||
labels: botmeta
|
||||
$modules/cloud/amazon/aws_api_gateway.py: mikedlr willthames
|
||||
$modules/cloud/amazon/aws_direct_connect_connection.py: s-hertel
|
||||
$modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py: s-hertel
|
||||
$modules/cloud/amazon/:
|
||||
ignored: erydo seiffert simplesteph
|
||||
$modules/cloud/amazon/aws_api_gateway.py: willthames
|
||||
$modules/cloud/amazon/aws_kms.py: willthames
|
||||
$modules/cloud/amazon/aws_waf_facts.py: willthames
|
||||
$modules/cloud/amazon/cloudformation.py: jsmartin ryansb tedder
|
||||
$modules/cloud/amazon/cloudformation_facts.py: jmenga
|
||||
$modules/cloud/amazon/cloudfront_facts.py: willthames wilvk
|
||||
$modules/cloud/amazon/cloudtrail.py: $team_ansible shepdelacreme tedder
|
||||
$modules/cloud/amazon/cloudwatchevent_rule.py: jsdalton
|
||||
$modules/cloud/amazon/dynamodb_table.py: loia
|
||||
$modules/cloud/amazon/dynamodb_ttl.py: tedder
|
||||
$modules/cloud/amazon/ec2.py: $team_ansible lwade tgerla
|
||||
$modules/cloud/amazon/ec2_ami.py: Constantin07 gunzy83 scicoin-project willthames
|
||||
$modules/cloud/amazon/ec2_ami_copy.py: amir343
|
||||
$modules/cloud/amazon/ec2_ami_find.py: tombamford
|
||||
$modules/cloud/amazon/ec2_asg.py: $team_ansible garethr s-hertel ryansb
|
||||
$modules/cloud/amazon/ec2_asg_facts.py: wimnat
|
||||
$modules/cloud/amazon/ec2_customer_gateway.py: MichaelBaydoun michaelbaydoun
|
||||
$modules/cloud/amazon/ec2_eip.py: rickmendes
|
||||
$modules/cloud/amazon/ec2_elb.py: jarv
|
||||
$modules/cloud/amazon/ec2_elb_lb.py: jsdalton
|
||||
$modules/cloud/amazon/ec2_eni.py: wimnat
|
||||
$modules/cloud/amazon/ec2_eni_facts.py: wimnat
|
||||
$modules/cloud/amazon/ec2_facts.py: roadmapper silviud
|
||||
$modules/cloud/amazon/ec2_group.py: adq $team_ansible
|
||||
$modules/cloud/amazon/ec2_group_facts.py: Sodki willthames
|
||||
$modules/cloud/amazon/cloudformation.py: ryansb tedder
|
||||
$modules/cloud/amazon/cloudfront_facts.py: willthames
|
||||
$modules/cloud/amazon/cloudtrail.py: $team_ansible
|
||||
$modules/cloud/amazon/ec2.py: $team_ansible
|
||||
$modules/cloud/amazon/ec2_ami.py: willthames
|
||||
$modules/cloud/amazon/ec2_asg.py: $team_ansible s-hertel ryansb
|
||||
$modules/cloud/amazon/ec2_group.py: $team_ansible
|
||||
$modules/cloud/amazon/ec2_group_facts.py: willthames
|
||||
$modules/cloud/amazon/ec2_instance_facts.py: willthames
|
||||
$modules/cloud/amazon/ec2_key.py: $team_ansible zbal
|
||||
$modules/cloud/amazon/ec2_lc.py: $team_ansible garethr
|
||||
$modules/cloud/amazon/ec2_lc_facts.py: psykotox willthames
|
||||
$modules/cloud/amazon/ec2_lc_find.py: fiunchinho
|
||||
$modules/cloud/amazon/ec2_metric_alarm.py: $team_ansible zeekin
|
||||
$modules/cloud/amazon/ec2_scaling_policy.py: zeekin
|
||||
$modules/cloud/amazon/ec2_snapshot.py: willthames
|
||||
$modules/cloud/amazon/ec2_snapshot_facts.py: wimnat
|
||||
$modules/cloud/amazon/ec2_tag.py: $team_ansible lwade
|
||||
$modules/cloud/amazon/ec2_vol.py: $team_ansible lwade
|
||||
$modules/cloud/amazon/ec2_vol_facts.py: wimnat
|
||||
$modules/cloud/amazon/ec2_vpc_dhcp_options.py: joelthompson
|
||||
$modules/cloud/amazon/ec2_vpc_dhcp_options_facts.py: naslanidis
|
||||
$modules/cloud/amazon/ec2_vpc_endpoint.py: Etherdaemon willthames
|
||||
$modules/cloud/amazon/ec2_vpc_endpoint_facts.py: Etherdaemon willthames
|
||||
$modules/cloud/amazon/ec2_vpc_igw.py:
|
||||
ignored: erydo
|
||||
maintainers: willthames
|
||||
$modules/cloud/amazon/ec2_vpc_igw_facts.py: naslanidis willthames
|
||||
$modules/cloud/amazon/ec2_vpc_nacl.py: mmochan
|
||||
$modules/cloud/amazon/ec2_vpc_nacl_facts.py: brandond
|
||||
$modules/cloud/amazon/ec2_vpc_nat_gateway.py: Etherdaemon jonhadfield linuxdynasty
|
||||
$modules/cloud/amazon/ec2_vpc_nat_gateway_facts.py: Etherdaemon willthames
|
||||
$modules/cloud/amazon/ec2_vpc_net.py: $team_ansible defionscode
|
||||
$modules/cloud/amazon/ec2_vpc_net_facts.py: whiter wimnat
|
||||
$modules/cloud/amazon/ec2_vpc_peer.py: mmochan
|
||||
$modules/cloud/amazon/ec2_vpc_peering_facts.py: Etherdaemon willthames
|
||||
$modules/cloud/amazon/ec2_vpc_route_table.py:
|
||||
ignored: erydo
|
||||
maintainers: wimnat
|
||||
$modules/cloud/amazon/ec2_vpc_route_table_facts.py: wimnat
|
||||
$modules/cloud/amazon/ec2_vpc_subnet.py:
|
||||
ignored: erydo
|
||||
maintainers: brandond willthames
|
||||
$modules/cloud/amazon/ec2_vpc_subnet_facts.py: wimnat
|
||||
$modules/cloud/amazon/ec2_vpc_vgw.py: naslanidis
|
||||
$modules/cloud/amazon/ec2_vpc_vgw_facts.py: naslanidis
|
||||
$modules/cloud/amazon/ec2_win_password.py: rickmendes
|
||||
$modules/cloud/amazon/ec2_key.py: $team_ansible
|
||||
$modules/cloud/amazon/ec2_lc.py: $team_ansible
|
||||
$modules/cloud/amazon/ec2_lc_facts.py: willthames
|
||||
$modules/cloud/amazon/ec2_metric_alarm.py: $team_ansible
|
||||
$modules/cloud/amazon/ec2_tag.py: $team_ansible
|
||||
$modules/cloud/amazon/ec2_vol.py: $team_ansible
|
||||
$modules/cloud/amazon/ec2_vpc_endpoint.py: willthames
|
||||
$modules/cloud/amazon/ec2_vpc_endpoint_facts.py: willthames
|
||||
$modules/cloud/amazon/ec2_vpc_igw.py: willthames
|
||||
$modules/cloud/amazon/ec2_vpc_igw_facts.py: willthames
|
||||
$modules/cloud/amazon/ec2_vpc_nat_gateway_facts.py: willthames
|
||||
$modules/cloud/amazon/ec2_vpc_net.py: $team_ansible
|
||||
$modules/cloud/amazon/ec2_vpc_net_facts.py: whiter
|
||||
$modules/cloud/amazon/ec2_vpc_peering_facts.py: willthames
|
||||
$modules/cloud/amazon/ec2_vpc_subnet.py: willthames
|
||||
$modules/cloud/amazon/ecs_cluster.py: willthames
|
||||
$modules/cloud/amazon/ecs_ecr.py: leedm777 willthames
|
||||
$modules/cloud/amazon/ecs_service.py:
|
||||
ignored: simplesteph
|
||||
maintainers: willthames
|
||||
$modules/cloud/amazon/ecs_service_facts.py: java1guy kaczynskid willthames
|
||||
$modules/cloud/amazon/ecs_ecr.py: willthames
|
||||
$modules/cloud/amazon/ecs_service.py: willthames
|
||||
$modules/cloud/amazon/ecs_service_facts.py: willthames
|
||||
$modules/cloud/amazon/ecs_task.py: willthames
|
||||
$modules/cloud/amazon/ecs_taskdefinition.py: willthames
|
||||
$modules/cloud/amazon/ecs_taskdefinition_facts.py: willthames
|
||||
$modules/cloud/amazon/efs.py: akazakov ryansydnor
|
||||
$modules/cloud/amazon/efs_facts.py: ryansydnor
|
||||
$modules/cloud/amazon/elasticache.py: alachaum jsdalton
|
||||
$modules/cloud/amazon/elasticache_parameter_group.py: s-hertel
|
||||
$modules/cloud/amazon/elasticache_snapshot.py: s-hertel
|
||||
$modules/cloud/amazon/elasticache_subnet_group.py: timmahoney
|
||||
$modules/cloud/amazon/elb_application_lb.py: wimnat
|
||||
$modules/cloud/amazon/elb_target_group.py: wimnat
|
||||
$modules/cloud/amazon/elb_target_group_facts.py: willthames wimnat
|
||||
$modules/cloud/amazon/execute_lambda.py: ryansb
|
||||
$modules/cloud/amazon/iam.py:
|
||||
ignored: seiffert
|
||||
maintainers: $team_ansible defionscode
|
||||
$modules/cloud/amazon/elasticache.py: alachaum
|
||||
$modules/cloud/amazon/elb_target_group_facts.py: willthames
|
||||
$modules/cloud/amazon/iam.py: $team_ansible
|
||||
$modules/cloud/amazon/iam_cert.py: $team_ansible
|
||||
$modules/cloud/amazon/iam_cert_facts.py: Lujeni willthames
|
||||
$modules/cloud/amazon/iam_group.py: willthames
|
||||
$modules/cloud/amazon/iam_managed_policy.py: dkhenry willthames
|
||||
$modules/cloud/amazon/iam_mfa_device_facts.py: pwnall
|
||||
$modules/cloud/amazon/iam_policy.py: $team_ansible defionscode
|
||||
$modules/cloud/amazon/iam_role.py: wimnat
|
||||
$modules/cloud/amazon/iam_server_certificate_facts.py: linuxdynasty
|
||||
$modules/cloud/amazon/kinesis_stream.py: linuxdynasty
|
||||
$modules/cloud/amazon/lambda.py: steynovich
|
||||
$modules/cloud/amazon/lambda_facts.py: pjodouin
|
||||
$modules/cloud/amazon/lightsail.py: nickball
|
||||
$modules/cloud/amazon/rds_param_group.py: scottanderson42 tastychutney
|
||||
$modules/cloud/amazon/rds_subnet_group.py: scottanderson42 tastychutney
|
||||
$modules/cloud/amazon/redshift.py: j-carl
|
||||
$modules/cloud/amazon/redshift_subnet_group.py: j-carl
|
||||
$modules/cloud/amazon/route53.py: bpennypacker
|
||||
$modules/cloud/amazon/route53_facts.py: Etherdaemon
|
||||
$modules/cloud/amazon/route53_health_check.py: willthames zimbatm
|
||||
$modules/cloud/amazon/route53_zone.py: minichate
|
||||
$modules/cloud/amazon/s3.py: $team_ansible lwade
|
||||
$modules/cloud/amazon/s3_bucket.py: wimnat
|
||||
$modules/cloud/amazon/s3_lifecycle.py: wimnat
|
||||
$modules/cloud/amazon/s3_logging.py: wimnat
|
||||
$modules/cloud/amazon/s3_sync.py: tedder
|
||||
$modules/cloud/amazon/s3_website.py: wimnat
|
||||
$modules/cloud/amazon/sns.py: mjschultz willthames
|
||||
$modules/cloud/amazon/iam_managed_policy.py: willthames
|
||||
$modules/cloud/amazon/iam_policy.py: $team_ansible
|
||||
$modules/cloud/amazon/rds_param_group.py: scottanderson42
|
||||
$modules/cloud/amazon/rds_subnet_group.py: scottanderson42
|
||||
$modules/cloud/amazon/route53_health_check.py: willthames
|
||||
$modules/cloud/amazon/sns.py: willthames
|
||||
$modules/cloud/amazon/sns_topic.py: willthames
|
||||
$modules/cloud/amazon/sqs_queue.py: loia nadirollo nand0p
|
||||
$modules/cloud/amazon/sts_assume_role.py: bekelchik
|
||||
$modules/cloud/amazon/sts_session_token.py: pwnall
|
||||
$modules/cloud/atomic/: krsacme
|
||||
$modules/cloud/azure/azure.py:
|
||||
ignored: jwhitbeck
|
||||
$modules/cloud/azure/:
|
||||
ignored: chouseknecht jwhitbeck
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_dnsrecordset.py:
|
||||
ignored: ozboms
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_loadbalancer.py:
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_networkinterface.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_networkinterface_facts.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_publicipaddress.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_publicipaddress_facts.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_resourcegroup.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_resourcegroup_facts.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_securitygroup.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_securitygroup_facts.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_storageaccount.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_storageaccount_facts.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_storageblob.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_subnet.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_virtualmachine.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_virtualmachineimage_facts.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_virtualnetwork.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/azure/azure_rm_virtualnetwork_facts.py:
|
||||
ignored: chouseknecht
|
||||
maintainers: $team_azure
|
||||
$modules/cloud/centurylink/: clc-runner
|
||||
$modules/cloud/cloudscale/cloudscale_server.py: gaudenz
|
||||
$modules/cloud/cloudstack/: $team_cloudstack
|
||||
$modules/cloud/digital_ocean/: BondAnthony
|
||||
$modules/cloud/digital_ocean/digital_ocean.py: alukovenko zbal
|
||||
$modules/cloud/digital_ocean/digital_ocean_domain.py: alukovenko mgregson
|
||||
$modules/cloud/digital_ocean/digital_ocean.py: alukovenko
|
||||
$modules/cloud/digital_ocean/digital_ocean_domain.py: alukovenko
|
||||
$modules/cloud/digital_ocean/digital_ocean_sshkey.py: alukovenko mgregson
|
||||
$modules/cloud/digital_ocean/digital_ocean_tag.py: kontrafiktion
|
||||
$modules/cloud/dimensiondata/dimensiondata_network.py: aimonb tintoy
|
||||
$modules/cloud/docker/docker_container.py:
|
||||
$modules/cloud/dimensiondata/dimensiondata_network.py: tintoy
|
||||
$modules/cloud/docker/:
|
||||
ignored: ThomasSteinbach
|
||||
maintainers: $team_ansible cove dusdanig kassiansun softzilla zfil
|
||||
$modules/cloud/docker/docker_image.py: $team_ansible softzilla
|
||||
$modules/cloud/docker/docker_container.py: $team_ansible felixfontein
|
||||
$modules/cloud/docker/docker_image.py: $team_ansible
|
||||
$modules/cloud/docker/docker_image_facts.py: $team_ansible
|
||||
$modules/cloud/docker/docker_login.py: olsaki
|
||||
$modules/cloud/docker/docker_network.py: keitwb olsaki
|
||||
$modules/cloud/docker/docker_secret.py:
|
||||
$modules/cloud/docker/docker_network.py: olsaki
|
||||
$modules/cloud/docker/docker_service.py: $team_ansible
|
||||
$modules/cloud/google/:
|
||||
maintainers: rambleraptor erjohnso
|
||||
ignored: supertom
|
||||
$modules/cloud/google/gc_storage.py: supertom
|
||||
$modules/cloud/google/gcdns_record.py: walbert947
|
||||
$modules/cloud/google/gcdns_zone.py: walbert947
|
||||
$modules/cloud/google/gce_eip.py: erjohnso supertom
|
||||
$modules/cloud/google/gce_img.py: supertom
|
||||
$modules/cloud/google/gce_instance_template.py: GwenaelPellenArkeup erjohnso
|
||||
$modules/cloud/google/gce_labels.py: erjohnso
|
||||
$modules/cloud/google/gce_lb.py: erjohnso
|
||||
$modules/cloud/google/gce_mig.py: erjohnso supertom
|
||||
$modules/cloud/google/gce_pd.py: erjohnso
|
||||
$modules/cloud/google/gce_snapshot.py: erjohnso robwagner33
|
||||
$modules/cloud/google/gce_tag.py: supertom
|
||||
$modules/cloud/google/gcp_backend_service.py: erjohnso supertom
|
||||
$modules/cloud/google/gcp_forwarding_rule.py: erjohnso supertom
|
||||
$modules/cloud/google/gcp_healthcheck.py: erjohnso supertom
|
||||
$modules/cloud/google/gcp_target_proxy.py: erjohnso supertom
|
||||
$modules/cloud/google/gcp_url_map.py: erjohnso supertom
|
||||
$modules/cloud/google/gcpubsub.py: erjohnso supertom
|
||||
$modules/cloud/google/gcpubsub_facts.py: erjohnso supertom
|
||||
$modules/cloud/google/gcspanner.py: supertom
|
||||
$modules/cloud/linode/linode.py: intheclouddan rwaweber zbal
|
||||
$modules/cloud/lxc/lxc_container.py: cloudnull
|
||||
$modules/cloud/linode/linode.py: intheclouddan rwaweber
|
||||
$modules/cloud/lxd/: hnakamur
|
||||
$modules/cloud/memset/: analbeard
|
||||
$modules/cloud/misc/helm.py: flaper87
|
||||
$modules/cloud/misc/ovirt.py:
|
||||
ignored: vincentvdk
|
||||
maintainers: joshainglis karmab machacekondra mwperina
|
||||
$modules/cloud/misc/proxmox.py: UnderGreen
|
||||
$modules/cloud/misc/proxmox_kvm.py: helldorado
|
||||
$modules/cloud/misc/proxmox_template.py: UnderGreen
|
||||
$modules/cloud/misc/rhevm.py: TimothyVandenbrande
|
||||
$modules/cloud/misc/serverless.py: ryansb
|
||||
$modules/cloud/misc/virt.py: $team_ansible
|
||||
$modules/cloud/misc/virt_net.py: drybjed
|
||||
$modules/cloud/misc/virt_pool.py: drybjed
|
||||
$modules/cloud/misc/xenserver_facts.py:
|
||||
ignored: andyhky
|
||||
maintainers: cheese
|
||||
$modules/cloud/opennebula/: ilicmilan kustodian
|
||||
$modules/cloud/openstack/: $team_openstack
|
||||
$modules/cloud/openstack/os_keystone_service.py: $team_openstack SamYaple
|
||||
$modules/cloud/openstack/os_project.py: $team_openstack agireud
|
||||
$modules/cloud/ovh/ovh_ip_loadbalancing_backend.py: pascalheraud
|
||||
$modules/cloud/ovirt/: machacekondra mwperina
|
||||
$modules/cloud/packet/:
|
||||
$modules/cloud/profitbricks/: baldwinSPC
|
||||
$modules/cloud/pubnub/pubnub_blocks.py: parfeon pubnub
|
||||
$modules/cloud/rackspace/:
|
||||
ignored: sivel angstwad
|
||||
$modules/cloud/rackspace/rax_cdb.py: jails
|
||||
$modules/cloud/rackspace/rax_cdb_database.py: jails
|
||||
$modules/cloud/rackspace/rax_cdb_user.py: jails
|
||||
$modules/cloud/rackspace/rax_clb_nodes.py: neuroid
|
||||
$modules/cloud/rackspace/rax_clb_ssl.py: smashwilson
|
||||
$modules/cloud/rackspace/rax_dns.py:
|
||||
$modules/cloud/rackspace/rax_dns_record.py:
|
||||
$modules/cloud/rackspace/rax_facts.py:
|
||||
$modules/cloud/rackspace/rax_files.py:
|
||||
$modules/cloud/rackspace/rax_files_objects.py:
|
||||
$modules/cloud/rackspace/rax_keypair.py:
|
||||
$modules/cloud/rackspace/rax_meta.py:
|
||||
$modules/cloud/rackspace/rax_mon_alarm.py: smashwilson
|
||||
$modules/cloud/rackspace/rax_mon_check.py: smashwilson
|
||||
$modules/cloud/rackspace/rax_mon_entity.py: smashwilson
|
||||
$modules/cloud/rackspace/rax_mon_notification.py: smashwilson
|
||||
$modules/cloud/rackspace/rax_mon_notification_plan.py: smashwilson
|
||||
$modules/cloud/rackspace/rax_scaling_group.py:
|
||||
$modules/cloud/rackspace/rax_scaling_policy.py:
|
||||
$modules/cloud/smartos/imgadm.py: jasperla
|
||||
$modules/cloud/smartos/smartos_image_facts.py: xen0l
|
||||
$modules/cloud/smartos/vmadm.py: jasperla
|
||||
$modules/cloud/softlayer/sl_vm.py: mcltn
|
||||
$modules/cloud/univention/: 2-B
|
||||
$modules/cloud/vmware/:
|
||||
maintainers: $team_vmware
|
||||
ignored: jcpowermac mtnbikenc
|
||||
$modules/cloud/vmware/vmware_host.py: dagwieers
|
||||
$modules/cloud/vmware/vmware_vm_shell.py: chrrrles
|
||||
$modules/cloud/vmware/vsphere_guest.py: dagwieers
|
||||
$modules/cloud/vmware/_vsphere_guest.py: dagwieers
|
||||
$modules/cloud/vultr/: $team_vultr
|
||||
$modules/cloud/webfaction/: quentinsf
|
||||
$modules/clustering/consul.py: sgargan
|
||||
$modules/clustering/consul_acl.py: sgargan
|
||||
$modules/clustering/consul_kv.py: sgargan
|
||||
$modules/clustering/consul_session.py: sgargan
|
||||
$modules/clustering/etcd3.py: evrardjp
|
||||
$modules/clustering/k8s: chouseknecht maxamillion fabianvf flaper87 willthames
|
||||
$modules/clustering/kubernetes.py: erjohnso supertom
|
||||
$modules/clustering/openshift: chouseknecht maxamillion fabianvf flaper87
|
||||
$modules/clustering/pacemaker_cluster.py:
|
||||
$modules/clustering/znode.py: treyperry
|
||||
$modules/clustering/k8s/: chouseknecht maxamillion fabianvf flaper87 willthames
|
||||
$modules/clustering/k8s/_kubernetes.py: supertom
|
||||
$modules/clustering/openshift/: chouseknecht maxamillion fabianvf flaper87
|
||||
$modules/commands/command.py: $team_ansible
|
||||
$modules/commands/expect.py: sivel
|
||||
$modules/commands/raw.py: $team_ansible
|
||||
$modules/commands/script.py: $team_ansible
|
||||
$modules/commands/shell.py: $team_ansible
|
||||
$modules/crypto/: Spredzy
|
||||
$modules/crypto/acme/: resmo felixfontein
|
||||
$modules/database/influxdb/: kamsz
|
||||
$modules/database/misc/elasticsearch_plugin.py: ThePixelDeveloper
|
||||
$modules/database/misc/kibana_plugin.py: barryib
|
||||
$modules/database/misc/redis.py: slok
|
||||
$modules/database/misc/riak.py: drewkerrigan jsmartin
|
||||
$modules/database/mongodb/mongodb_parameter.py: nerzhul
|
||||
$modules/database/mongodb/mongodb_user.py: lujeni
|
||||
$modules/database/mssql/mssql_db.py: Jmainguy vedit kenichi-ogawa-1988
|
||||
$modules/database/mysql/mysql_replication.py: banyek
|
||||
$modules/database/mysql/mysql_user.py: Jmainguy
|
||||
$modules/database/mysql/mysql_variables.py: banyek
|
||||
$modules/database/postgresql/postgresql_db.py: $team_ansible matburt
|
||||
$modules/database/postgresql/postgresql_ext.py: dschep matburt
|
||||
$modules/database/postgresql/postgresql_lang.py: jensdepuydt matburt
|
||||
$modules/database/postgresql/postgresql_privs.py: b6d matburt
|
||||
$modules/database/postgresql/postgresql_schema.py:
|
||||
$modules/database/postgresql/postgresql_user.py: $team_ansible matburt nerzhul
|
||||
$modules/database/mssql/mssql_db.py: Jmainguy kenichi-ogawa-1988
|
||||
$modules/database/postgresql/: matburt
|
||||
$modules/database/postgresql/postgresql_db.py: $team_ansible
|
||||
$modules/database/postgresql/postgresql_user.py: $team_ansible nerzhul
|
||||
$modules/database/proxysql/: bmildren
|
||||
$modules/database/vertica/: dareko
|
||||
$modules/files/acl.py:
|
||||
ignored: astorije
|
||||
maintainers: $team_ansible bcoca
|
||||
$modules/files/archive.py: bendoh
|
||||
$modules/files/assemble.py: $team_ansible sfromm
|
||||
$modules/files/blockinfile.py: yaegashi
|
||||
maintainers: $team_ansible
|
||||
$modules/files/assemble.py: $team_ansible
|
||||
$modules/files/copy.py: $team_ansible
|
||||
$modules/files/fetch.py: $team_ansible
|
||||
$modules/files/file.py: $team_ansible
|
||||
$modules/files/find.py: $team_ansible
|
||||
$modules/files/lineinfile.py: ahtik $team_ansible dhozac samdoran
|
||||
$modules/files/replace.py: EvanK
|
||||
$modules/files/stat.py: bpennypacker
|
||||
$modules/files/synchronize.py: $team_ansible tima
|
||||
$modules/files/tempfile.py:
|
||||
$modules/files/lineinfile.py: $team_ansible samdoran
|
||||
$modules/files/synchronize.py: $team_ansible
|
||||
$modules/files/template.py: $team_ansible
|
||||
$modules/files/unarchive.py:
|
||||
ignored: dagwieers
|
||||
labels: m:unarchive
|
||||
maintainers: pileofrogs
|
||||
ignored: dagwieers
|
||||
$modules/files/xattr.py: $team_ansible bcoca
|
||||
$modules/files/xattr.py: $team_ansible
|
||||
$modules/files/xml.py:
|
||||
ignored: magnus919
|
||||
labels: m:xml
|
||||
maintainers: sm4rk0 cmprescott
|
||||
$modules/identity/cyberark/:
|
||||
notified: cyberark-bizdev
|
||||
$modules/identity/ipa/:
|
||||
maintainers: $team_ipa
|
||||
$modules/identity/ipa/: $team_ipa
|
||||
$modules/identity/keycloak/: eikef
|
||||
$modules/identity/opendj/opendj_backendprop.py: dj-wasabi
|
||||
$modules/inventory/add_host.py: $team_ansible
|
||||
$modules/inventory/group_by.py: $team_ansible jhoekx
|
||||
$modules/inventory/group_by.py: $team_ansible
|
||||
$modules/messaging/rabbitmq_binding.py: $team_rabbitmq
|
||||
$modules/messaging/rabbitmq_exchange.py: $team_rabbitmq
|
||||
$modules/messaging/rabbitmq_parameter.py: $team_rabbitmq
|
||||
|
@ -392,50 +183,17 @@ files:
|
|||
$modules/messaging/rabbitmq_vhost.py:
|
||||
ignored: choffman
|
||||
maintainers: $team_rabbitmq
|
||||
$modules/monitoring/airbrake_deployment.py: bpennypacker
|
||||
$modules/monitoring/bigpanda.py: hkariti
|
||||
$modules/monitoring/boundary_meter.py: ccollicutt
|
||||
$modules/monitoring/circonus_annotation.py: NickatEpic
|
||||
$modules/monitoring/datadog_event.py:
|
||||
ignored: arturaz
|
||||
maintainers: n0ts
|
||||
$modules/monitoring/datadog_monitor.py: skornehl
|
||||
$modules/monitoring/honeybadger_deployment.py: stympy
|
||||
$modules/monitoring/icinga2_feature.py: nerzhul
|
||||
$modules/monitoring/librato_annotation.py: sedward
|
||||
$modules/monitoring/logentries.py:
|
||||
ignored: ivanvanderbyl
|
||||
$modules/monitoring/logicmonitor.py: ethanculler woz5999
|
||||
$modules/monitoring/logstash_plugin.py: nerzhul
|
||||
$modules/monitoring/monit.py: brian-brazil dstoflet
|
||||
$modules/monitoring/nagios.py: tbielawa
|
||||
$modules/monitoring/newrelic_deployment.py: mcodd
|
||||
$modules/monitoring/pagerduty_alert.py:
|
||||
$modules/monitoring/pingdom.py: thaumos
|
||||
$modules/monitoring/rollbar_deployment.py: kavu
|
||||
$modules/monitoring/sensu_check.py: andsens
|
||||
$modules/monitoring/sensu_silence.py: smbambling
|
||||
$modules/monitoring/sensu_subscription.py: andsens
|
||||
$modules/monitoring/stackdriver.py: bwhaley
|
||||
$modules/monitoring/statusio_maintenance.py: bhcopeland
|
||||
$modules/monitoring/uptimerobot.py: nate-kingsley
|
||||
$modules/monitoring/zabbix: eikef D3DeFi
|
||||
$modules/monitoring/zabbix/zabbix_group.py: cove harrisongu
|
||||
$modules/monitoring/zabbix/zabbix_host.py: cove harrisongu
|
||||
$modules/monitoring/zabbix/zabbix_hostmacro.py: cave
|
||||
$modules/monitoring/zabbix/zabbix_maintenance.py: abulimov
|
||||
$modules/monitoring/zabbix/zabbix_screen.py: cove harrisongu
|
||||
$modules/monitoring/zabbix/zabbix_template.py: eikef Logan2211 sookido
|
||||
$modules/net_tools/basics/get_url.py: jpmens
|
||||
$modules/monitoring/monit.py: brian-brazil
|
||||
$modules/monitoring/zabbix/: eikef D3DeFi
|
||||
$modules/net_tools/basics/get_url.py: ptux
|
||||
$modules/net_tools/basics/slurp.py: $team_ansible
|
||||
$modules/net_tools/basics/uri.py: $team_ansible
|
||||
$modules/net_tools/cloudflare_dns.py: mgruener andreaso
|
||||
$modules/net_tools/dnsimple.py: drcapulet
|
||||
$modules/net_tools/dnsmadeeasy.py: briceburg
|
||||
$modules/net_tools/cloudflare_dns.py: andreaso
|
||||
$modules/net_tools/exoscale/: resmo
|
||||
$modules/net_tools/haproxy.py: ravibhure
|
||||
$modules/net_tools/ipify_facts.py: resmo
|
||||
$modules/net_tools/ipinfoio_facts.py: akostyuk
|
||||
$modules/net_tools/ldap/: jtyr
|
||||
$modules/net_tools/lldp.py:
|
||||
ignored: andyhky
|
||||
|
@ -444,10 +202,6 @@ files:
|
|||
labels:
|
||||
- networking
|
||||
- infoblox
|
||||
$modules/net_tools/nmcli.py: alcamie101
|
||||
$modules/net_tools/nsupdate.py: nerzhul
|
||||
$modules/net_tools/omapi_host.py: nerzhul
|
||||
$modules/net_tools/snmp_facts.py: ogenstad
|
||||
$modules/network/a10/: ericchou1 mischapeters
|
||||
$modules/network/aci/: $team_aci
|
||||
$modules/network/aireos/: jmighion
|
||||
|
@ -481,11 +235,12 @@ files:
|
|||
$modules/network/layer2/: $team_networking
|
||||
$modules/network/layer3/: $team_networking
|
||||
$modules/network/meraki/: $team_meraki
|
||||
$modules/network/netconf/netconf_config.py: lpenz userlerueda $team_networking
|
||||
$modules/network/netconf/netconf_get.py: wisotzky $team_networking
|
||||
$modules/network/netconf/netconf_rpc.py: wisotzky $team_networking
|
||||
$modules/network/netconf/netconf_config.py: userlerueda $team_networking
|
||||
$modules/network/netconf/netconf_get.py: $team_networking
|
||||
$modules/network/netconf/netconf_rpc.py: $team_networking
|
||||
$modules/network/netscaler/: $team_netscaler
|
||||
$modules/network/netvisor/: $team_netvisor
|
||||
$modules/network/nos/: $team_extreme
|
||||
$modules/network/nuage/: pdellaert
|
||||
$modules/network/nxos/: $team_nxos
|
||||
$modules/network/nso/: $team_nso
|
||||
|
@ -507,33 +262,10 @@ files:
|
|||
$modules/network/system/: $team_networking
|
||||
$modules/network/voss/: $team_extreme
|
||||
$modules/network/vyos/: Qalthos samdoran
|
||||
$modules/notification/bearychat.py: tonyseek
|
||||
$modules/notification/campfire.py: fabulops
|
||||
$modules/notification/catapult.py: Jmainguy
|
||||
$modules/notification/cisco_spark.py:
|
||||
$modules/notification/flowdock.py: mcodd
|
||||
$modules/notification/grove.py: zimbatm
|
||||
$modules/notification/hall.py: bkimble
|
||||
$modules/notification/hipchat.py: pb8226 shirou
|
||||
$modules/notification/jabber.py: bcoca
|
||||
$modules/notification/mattermost.py: bjolivot
|
||||
$modules/notification/mqtt.py: jpmens
|
||||
$modules/notification/nexmo.py: sivel
|
||||
$modules/notification/osx_say.py: $team_ansible
|
||||
$modules/notification/pushbullet.py: willybarro
|
||||
$modules/notification/pushover.py: weaselkeeper
|
||||
$modules/notification/rocketchat.py:
|
||||
ignored: ramondelafuente
|
||||
maintainers: Deepakkothandan
|
||||
$modules/notification/sendgrid.py: makaimc
|
||||
$modules/notification/slack.py: ramondelafuente
|
||||
$modules/notification/telegram.py: tyouxa
|
||||
$modules/notification/twilio.py: makaimc
|
||||
$modules/notification/typetalk.py: tksmd
|
||||
$modules/packaging/language/bower.py: mwarkentin
|
||||
$modules/packaging/language/bundler.py: thoiberg
|
||||
$modules/packaging/language/cpanm.py:
|
||||
$modules/packaging/language/easy_install.py: mattupstate
|
||||
$modules/packaging/language/gem.py: $team_ansible
|
||||
$modules/packaging/language/maven_artifact.py:
|
||||
ignored: chrisisbeef
|
||||
|
@ -541,56 +273,29 @@ files:
|
|||
$modules/packaging/language/npm.py:
|
||||
ignored: chrishoffman
|
||||
maintainers: shane-walker xcambar
|
||||
$modules/packaging/language/pear.py:
|
||||
$modules/packaging/language/pip.py: lujeni robinro
|
||||
$modules/packaging/os/apk.py:
|
||||
ignored: kbrebanov
|
||||
maintainers: tdtrask
|
||||
$modules/packaging/os/apt.py: $team_ansible mgwilliams
|
||||
$modules/packaging/os/apt_key.py: jvantuyl
|
||||
$modules/packaging/os/apt_repository.py: $team_ansible sashka
|
||||
$modules/packaging/os/apt_rpm.py: evgkrsk
|
||||
$modules/packaging/os/dnf.py: DJMuggs berenddeschouwer ignatenkobrain
|
||||
$modules/packaging/os/dpkg_selections.py: brian-brazil
|
||||
$modules/packaging/os/homebrew.py: andrew-d danieljaouen indrajitr
|
||||
$modules/packaging/os/homebrew_cask.py: danieljaouen enriclluelles indrajitr
|
||||
$modules/packaging/os/homebrew_tap.py: danieljaouen indrajitr
|
||||
$modules/packaging/os/layman.py: jirutka
|
||||
$modules/packaging/os/macports.py: jcftang
|
||||
$modules/packaging/os/openbsd_pkg.py: eest
|
||||
$modules/packaging/os/opkg.py: skinp
|
||||
$modules/packaging/os/apt.py: $team_ansible
|
||||
$modules/packaging/os/apt_repository.py: $team_ansible
|
||||
$modules/packaging/os/package.py: $team_ansible
|
||||
$modules/packaging/os/pacman.py:
|
||||
ignored: elasticdog
|
||||
maintainers: indrajitr
|
||||
$modules/packaging/os/pkg5.py: mavit
|
||||
$modules/packaging/os/pkg5_publisher.py: mavit
|
||||
$modules/packaging/os/pkgin.py: L2G jasperla szinck troy2914
|
||||
$modules/packaging/os/pkgin.py: troy2914
|
||||
$modules/packaging/os/pkgng.py:
|
||||
ignored: bleader
|
||||
maintainers: JoergFiedler
|
||||
$modules/packaging/os/pkgutil.py: dermute scathatheworm
|
||||
$modules/packaging/os/pkgutil.py: scathatheworm
|
||||
$modules/packaging/os/portage.py:
|
||||
ignored: sayap
|
||||
maintainers: wltjr
|
||||
$modules/packaging/os/portinstall.py: berenddeboer
|
||||
$modules/packaging/os/pulp_repo.py: sysadmind
|
||||
$modules/packaging/os/redhat_subscription.py: alikins kahowell
|
||||
$modules/packaging/os/rhn_channel.py: alikins vincentvdk
|
||||
$modules/packaging/os/rhn_channel.py: alikins
|
||||
$modules/packaging/os/rhn_register.py: $team_rhn
|
||||
$modules/packaging/os/rpm_key.py: hacosta
|
||||
$modules/packaging/os/slackpkg.py: KimNorgaard
|
||||
$modules/packaging/os/sorcery.py: vaygr
|
||||
$modules/packaging/os/svr4pkg.py: brontitall
|
||||
$modules/packaging/os/swdepot.py: melodous
|
||||
$modules/packaging/os/swupd.py: albertomurillo
|
||||
$modules/packaging/os/urpmi.py: pmakowski
|
||||
$modules/packaging/os/yum.py: $team_ansible berenddeschouwer verm666 kustodian
|
||||
$modules/packaging/os/yum_repository.py: jtyr
|
||||
$modules/packaging/os/yum.py: $team_ansible kustodian
|
||||
$modules/packaging/os/zypper.py:
|
||||
ignored: dirtyharrycallahan
|
||||
maintainers: AnderEnder alxgu andytom robinro
|
||||
$modules/packaging/os/zypper_repository.py: matze robinro
|
||||
$modules/packaging/os/zypper_repository.py: robinro
|
||||
$modules/remote_management/foreman/: ehelms
|
||||
$modules/remote_management/hpilo/: dagwieers haad
|
||||
$modules/remote_management/imc/: dagwieers
|
||||
|
@ -598,120 +303,54 @@ files:
|
|||
$modules/remote_management/manageiq/: $team_manageiq
|
||||
$modules/remote_management/stacki/stacki_host.py: bbyhuy bsanders
|
||||
$modules/remote_management/ucs/: $team_ucs
|
||||
$modules/source_control/bzr.py: andreparames
|
||||
$modules/source_control/git.py: $team_ansible
|
||||
$modules/source_control/git_config.py: djmattyg007
|
||||
$modules/source_control/github_deploy_key.py: bincyber
|
||||
$modules/source_control/github_hooks.py: pcgentry
|
||||
$modules/source_control/github_issue.py: Akasurde
|
||||
$modules/source_control/github_key.py:
|
||||
ignored: erydo
|
||||
$modules/source_control/github_release.py: adrianmoisey
|
||||
$modules/source_control/gitlab_group.py: dj-wasabi
|
||||
$modules/source_control/gitlab_project.py: dj-wasabi
|
||||
$modules/source_control/gitlab_user.py: dj-wasabi
|
||||
$modules/source_control/hg.py: yeukhon
|
||||
$modules/source_control/subversion.py: dsummersl
|
||||
$modules/storage/glusterfs/gluster_volume.py: rosmo
|
||||
$modules/storage/glusterfs/gluster_peer.py: sac
|
||||
$modules/storage/infinidat/: GR360RY vmalloc
|
||||
$modules/storage/netapp/: $team_netapp
|
||||
$modules/storage/purestorage/: sdodsley
|
||||
$modules/storage/zfs/zfs.py: johanwiren
|
||||
$modules/storage/zfs/zfs_facts.py: xen0l
|
||||
$modules/storage/zfs/zpool_facts.py: xen0l
|
||||
$modules/system/aix_inittab.py: molekuul
|
||||
$modules/system/aix_lvol.py: adejoux
|
||||
$modules/system/alternatives.py: DavidWittman mulby
|
||||
$modules/system/at.py: $team_ansible
|
||||
$modules/system/authorized_key.py: $team_ansible
|
||||
$modules/system/awall.py: tdtrask
|
||||
$modules/system/beadm.py: xen0l
|
||||
$modules/system/capabilities.py: natefoo
|
||||
$modules/system/cron.py: EvanK dsummersl lberruti
|
||||
$modules/system/cronvar.py: dougluce
|
||||
$modules/system/crypttab.py: groks
|
||||
$modules/system/dconf.py: azaghal
|
||||
$modules/system/debconf.py: bcoca
|
||||
$modules/system/facter.py: $team_ansible
|
||||
$modules/system/filesystem.py: abulimov pilou-
|
||||
$modules/system/firewalld.py: maxamillion
|
||||
$modules/system/gconftool2.py: Akasurde kevensen
|
||||
$modules/system/getent.py: bcoca
|
||||
$modules/system/group.py: $team_ansible sfromm
|
||||
$modules/system/interfaces_file.py: hryamzik obourdon
|
||||
$modules/system/iptables.py: LinusU
|
||||
$modules/system/java_cert.py:
|
||||
$modules/system/kernel_blacklist.py: matze
|
||||
$modules/system/known_hosts.py: mcv21
|
||||
$modules/system/locale_gen.py: AugustusKling
|
||||
$modules/system/lvg.py: abulimov
|
||||
$modules/system/lvol.py: abulimov jhoekx
|
||||
$modules/system/make.py: LinusU
|
||||
$modules/system/filesystem.py: pilou-
|
||||
$modules/system/gconftool2.py: Akasurde
|
||||
$modules/system/group.py: $team_ansible
|
||||
$modules/system/interfaces_file.py: obourdon
|
||||
$modules/system/modprobe.py:
|
||||
ignored: stygstra
|
||||
$modules/system/mount.py: $team_ansible jtyr
|
||||
$modules/system/ohai.py: $team_ansible
|
||||
$modules/system/open_iscsi.py: srvg
|
||||
$modules/system/openwrt_init.py: agaffney
|
||||
$modules/system/osx_defaults.py:
|
||||
ignored: frenck
|
||||
maintainers: $team_ansible
|
||||
$modules/system/pam_limits.py:
|
||||
ignored: usawa
|
||||
maintainers: giovannisciortino
|
||||
$modules/system/pamd.py: kevensen
|
||||
$modules/system/parted.py: ColOfAbRiX
|
||||
$modules/system/ping.py: $team_ansible
|
||||
$modules/system/puppet.py: emonty nibalizer
|
||||
$modules/system/runit.py: jsumners
|
||||
$modules/system/seboolean.py: $team_ansible sfromm
|
||||
$modules/system/selinux.py: goozbach samdoran
|
||||
$modules/system/selinux_permissive.py: mscherer
|
||||
$modules/system/seport.py: dankeder
|
||||
$modules/system/puppet.py: nibalizer
|
||||
$modules/system/seboolean.py: $team_ansible
|
||||
$modules/system/selinux.py: samdoran
|
||||
$modules/system/service.py: $team_ansible
|
||||
$modules/system/setup.py:
|
||||
ignored: david_obrien
|
||||
maintainers: $team_ansible
|
||||
$modules/system/solaris_zone.py: pmarkham
|
||||
$modules/system/svc.py: bcoca
|
||||
$modules/system/sysctl.py: Akasurde davixx
|
||||
$modules/system/sysctl.py: Akasurde
|
||||
$modules/system/systemd.py: $team_ansible
|
||||
$modules/system/timezone.py: jasperla tmshn
|
||||
$modules/system/ufw.py: ahtik ovcharenko pyykkis
|
||||
$modules/system/user.py: $team_ansible sfromm samdoran
|
||||
$modules/system/user.py: $team_ansible samdoran
|
||||
$modules/utilities/helper/meta.py: $team_ansible
|
||||
$modules/utilities/logic/assert.py: $team_ansible
|
||||
$modules/utilities/logic/async_status.py: $team_ansible
|
||||
$modules/utilities/logic/async_wrapper.py: $team_ansible
|
||||
$modules/utilities/logic/include.py: $team_ansible
|
||||
$modules/utilities/logic/include_role.py: $team_ansible
|
||||
$modules/utilities/logic/include_vars.py: $team_ansible linuxdynasty
|
||||
$modules/utilities/logic/pause.py: tbielawa samdoran
|
||||
$modules/utilities/logic/set_stats.py: bcoca
|
||||
$modules/utilities/logic/wait_for.py: AnderEnder gregswift jarv jhoekx
|
||||
$modules/web_infrastructure/_letsencrypt.py: mgruener resmo felixfontein
|
||||
$modules/web_infrastructure/acme_account.py: mgruener resmo felixfontein
|
||||
$modules/web_infrastructure/acme_certificate.py: mgruener resmo felixfontein
|
||||
$modules/utilities/logic/include_vars.py: $team_ansible
|
||||
$modules/utilities/logic/pause.py: samdoran
|
||||
$modules/utilities/logic/wait_for.py: gregswift
|
||||
$modules/web_infrastructure/ansible_tower/: $team_tower
|
||||
$modules/web_infrastructure/apache2_mod_proxy.py: oboukili
|
||||
$modules/web_infrastructure/deploy_helper.py: ramondelafuente
|
||||
$modules/web_infrastructure/django_manage.py: scottanderson42 tastychutney
|
||||
$modules/web_infrastructure/ejabberd_user.py: privateip
|
||||
$modules/web_infrastructure/gunicorn.py: agmezr
|
||||
$modules/web_infrastructure/django_manage.py: scottanderson42
|
||||
$modules/web_infrastructure/htpasswd.py: $team_ansible
|
||||
$modules/web_infrastructure/jboss.py:
|
||||
labels: jboss
|
||||
maintainers: jhoekx
|
||||
$modules/web_infrastructure/jenkins_job.py: sermilrod
|
||||
$modules/web_infrastructure/jenkins_plugin.py: jtyr
|
||||
$modules/web_infrastructure/jenkins_script.py: hogarthj
|
||||
$modules/web_infrastructure/jira.py: Slezhuk tarka
|
||||
$modules/web_infrastructure/nginx_status_facts.py: resmo
|
||||
$modules/web_infrastructure/rundeck_acl_policy.py:
|
||||
$modules/web_infrastructure/rundeck_project.py: nerzhul
|
||||
$modules/web_infrastructure/supervisorctl.py: inetfuture mattupstate
|
||||
$modules/web_infrastructure/taiga_issue.py: lekum
|
||||
$modules/web_infrastructure/jboss/: $team_jboss
|
||||
$modules/web_infrastructure/jira.py: Slezhuk
|
||||
$modules/windows/:
|
||||
maintainers: $team_windows
|
||||
ignored: angstwad georgefrank h0nIg
|
||||
|
@ -735,7 +374,6 @@ files:
|
|||
maintainers: BondAnthony
|
||||
labels:
|
||||
- cloud
|
||||
- digital_ocean
|
||||
support: community
|
||||
contrib/inventory/linode.py:
|
||||
keywords:
|
||||
|
@ -748,13 +386,11 @@ files:
|
|||
maintainers: $team_openstack
|
||||
labels:
|
||||
- cloud
|
||||
- openstack
|
||||
contrib/inventory/infoblox.py:
|
||||
keywords:
|
||||
- infoblox dynamic inventory script
|
||||
labels:
|
||||
- ipam
|
||||
- infoblox
|
||||
- networking
|
||||
maintainers: $team_networking
|
||||
contrib/inventory/azure_rm.py:
|
||||
|
@ -785,7 +421,6 @@ files:
|
|||
- vmware dynamic inventory script
|
||||
labels:
|
||||
- cloud
|
||||
- vmware
|
||||
maintainers: $team_vmware
|
||||
contrib/inventory/vmware_inventory.py:
|
||||
keywords:
|
||||
|
@ -813,7 +448,9 @@ files:
|
|||
labels: networking
|
||||
support: community
|
||||
$module_utils/acme.py:
|
||||
maintainers: mgruener resmo felixfontein
|
||||
maintainers: resmo felixfontein
|
||||
$module_utils/ipa.py:
|
||||
maintainers: $team_ipa
|
||||
$module_utils/network/aireos:
|
||||
maintainers: jmighion
|
||||
labels: networking
|
||||
|
@ -891,6 +528,9 @@ files:
|
|||
$module_utils/network/netscaler:
|
||||
maintainers: $team_netscaler
|
||||
labels: networking
|
||||
$module_utils/network/nos:
|
||||
maintainers: $team_extreme
|
||||
labels: networking
|
||||
$module_utils/network/nso:
|
||||
maintainers: $team_nso
|
||||
labels: networking
|
||||
|
@ -907,7 +547,6 @@ files:
|
|||
maintainers: $team_openstack
|
||||
labels:
|
||||
- cloud
|
||||
- openstack
|
||||
$module_utils/network/ordnance:
|
||||
maintainers: alexanderturner djh00t
|
||||
labels: networking
|
||||
|
@ -915,7 +554,6 @@ files:
|
|||
maintainers: joshainglis karmab machacekondra
|
||||
labels:
|
||||
- cloud
|
||||
- ovirt
|
||||
$module_utils/powershell:
|
||||
maintainers: $team_windows_core
|
||||
labels:
|
||||
|
@ -923,14 +561,13 @@ files:
|
|||
$module_utils/remote_management/ucs:
|
||||
maintainers: $team_ucs
|
||||
labels: ucs
|
||||
$module_utils/vultr.py:
|
||||
$module_utils/netapp: $team_netapp
|
||||
$module_utils/vultr.py: &vultr
|
||||
maintainers: $team_vultr
|
||||
labels:
|
||||
- vultr
|
||||
- cloud
|
||||
$module_utils/vmware:
|
||||
maintainers: $team_vmware
|
||||
labels: vmware
|
||||
support: community
|
||||
$module_utils/network/voss:
|
||||
maintainers: $team_extreme
|
||||
|
@ -943,6 +580,13 @@ files:
|
|||
$module_utils/memset.py:
|
||||
maintainers: analbeard
|
||||
labels: cloud
|
||||
$module_utils/jboss/:
|
||||
maintainers: $team_jboss
|
||||
$module_utils/scaleway.py: &scaleway
|
||||
maintainers: $team_scaleway
|
||||
labels:
|
||||
- cloud
|
||||
support: community
|
||||
lib/ansible/playbook/handler.py:
|
||||
keywords:
|
||||
- handlers
|
||||
|
@ -1021,11 +665,13 @@ files:
|
|||
lib/ansible/plugins/cliconf/ironware.py:
|
||||
maintainers: paulquack
|
||||
labels: networking
|
||||
lib/ansible/plugins/cliconf/nos.py:
|
||||
maintainers: $team_extreme
|
||||
labels: networking
|
||||
lib/ansible/plugins/cliconf/nxos.py:
|
||||
maintainers: $team_nxos
|
||||
labels:
|
||||
- networking
|
||||
- nxos
|
||||
lib/ansible/plugins/cliconf/onyx.py:
|
||||
maintainers: $team_onyx
|
||||
labels: networking
|
||||
|
@ -1046,6 +692,9 @@ files:
|
|||
lib/ansible/plugins/connection/persistent.py:
|
||||
maintainers: $team_networking
|
||||
labels: networking
|
||||
lib/ansible/plugins/httpapi/ftd.py:
|
||||
maintainers: annikulin $team_networking
|
||||
labels: networking
|
||||
lib/ansible/plugins/inventory/openstack.py:
|
||||
maintainers: $team_openstack
|
||||
keywords:
|
||||
|
@ -1053,7 +702,6 @@ files:
|
|||
- inventory
|
||||
labels:
|
||||
- cloud
|
||||
- openstack
|
||||
lib/ansible/plugins/cliconf/voss.py:
|
||||
maintainers: $team_extreme
|
||||
labels: networking
|
||||
|
@ -1066,6 +714,8 @@ files:
|
|||
labels:
|
||||
- ovirt
|
||||
- cloud
|
||||
lib/ansible/plugins/inventory/vultr.py: *vultr
|
||||
lib/ansible/plugins/inventory/scaleway.py: *scaleway
|
||||
lib/ansible/plugins/filter/network.py:
|
||||
maintainers: $team_networking
|
||||
labels: networking
|
||||
|
@ -1134,11 +784,13 @@ files:
|
|||
lib/ansible/plugins/terminal/junos.py:
|
||||
maintainers: $team_networking
|
||||
labels: networking
|
||||
lib/ansible/plugins/terminal/nos.py:
|
||||
maintainers: $team_extreme
|
||||
labels: networking
|
||||
lib/ansible/plugins/terminal/nxos.py:
|
||||
maintainers: $team_networking
|
||||
labels:
|
||||
- networking
|
||||
- nxos
|
||||
lib/ansible/plugins/terminal/onyx.py:
|
||||
maintainers: $team_onyx
|
||||
labels: networking
|
||||
|
@ -1163,11 +815,12 @@ files:
|
|||
keywords:
|
||||
- jinja
|
||||
- jinja2
|
||||
lib/ansible/utils/module_docs_fragments/acme.py:
|
||||
maintainers: resmo felixfontein
|
||||
test/sanity/validate-modules:
|
||||
keywords:
|
||||
- validate-modules
|
||||
docs/:
|
||||
labels: docs
|
||||
maintainers:
|
||||
- acozine
|
||||
docs/docsite/rst/network/:
|
||||
|
@ -1200,25 +853,23 @@ files:
|
|||
test/integration/targets/aci:
|
||||
maintainers: $team_aci
|
||||
labels:
|
||||
- aci
|
||||
- networking
|
||||
test/integration/targets/meraki:
|
||||
maintainers: $team_meraki
|
||||
labels:
|
||||
- meraki
|
||||
- networking
|
||||
test/integration/targets/nxos:
|
||||
maintainers: $team_nxos
|
||||
labels:
|
||||
- networking
|
||||
- nxos
|
||||
test/integration/targets/setup_acme:
|
||||
maintainers: resmo felixfontein
|
||||
test/integration/targets/setup_zabbix:
|
||||
maintainers: eikef D3DeFi
|
||||
test/integration/targets/ucs:
|
||||
maintainers: $team_ucs
|
||||
labels:
|
||||
- remote_management
|
||||
- ucs
|
||||
test/units/modules/network:
|
||||
maintainers: $team_networking
|
||||
labels: networking
|
||||
|
@ -1226,9 +877,7 @@ files:
|
|||
maintainers: $team_nxos
|
||||
labels:
|
||||
- networking
|
||||
- nxos
|
||||
test/sanity/pep8/legacy-files.txt:
|
||||
labels: pep8
|
||||
hacking/report.py:
|
||||
notify: mattclay
|
||||
shippable.yml:
|
||||
|
@ -1249,12 +898,13 @@ macros:
|
|||
team_cyberark_conjur: jvanderhoof ryanprior
|
||||
team_extreme: bigmstone LindsayHill
|
||||
team_ipa: Nosmoht Akasurde fxfitz
|
||||
team_jboss: jairojunior wbrefvem Wolfant
|
||||
team_manageiq: gtanzillo abellotti zgalor yaacov cben
|
||||
team_meraki: dagwieers kbreit
|
||||
team_netapp: hulquest lmprice ndswartz amit0701 schmots1 carchi8py
|
||||
team_netscaler: chiradeep giorgos-nikolopoulos
|
||||
team_netvisor: Qalthos amitsi
|
||||
team_networking: Qalthos ganeshrn rcarrillocruz trishnaguha gdpak
|
||||
team_networking: Qalthos ganeshrn rcarrillocruz trishnaguha gdpak justjais
|
||||
team_nso: cmoberg cnasten tbjurman
|
||||
team_nxos: mikewiebe rahushen rcarrillocruz trishnaguha tstoner
|
||||
team_onyx: samerd
|
||||
|
@ -1262,8 +912,9 @@ macros:
|
|||
team_openswitch: Qalthos gdpak
|
||||
team_rabbitmq: chrishoffman manuel-sousa hyperized
|
||||
team_rhn: alikins barnabycourt flossware vritant
|
||||
team_scaleway: sieben hekonsek Spredzy
|
||||
team_tower: ghjm jlaska matburt wwitzel3 simfarm ryanpetrello rooftopcellist AlanCoding
|
||||
team_ucs: dsoper2 johnamcdonough vallard vvb dagwieers
|
||||
team_ucs: dsoper2 johnamcdonough SDBrett vallard vvb dagwieers
|
||||
team_vmware: Akasurde dav1x warthog9
|
||||
team_vultr: resmo Spredzy
|
||||
team_windows: dagwieers jborean93 jhawkesworth nitzmahone
|
||||
|
|
|
@ -103,10 +103,11 @@ Authors
|
|||
=======
|
||||
|
||||
Ansible was created by `Michael DeHaan <https://github.com/mpdehaan>`_
|
||||
(michael.dehaan/gmail/com) and has contributions from over 1000 users
|
||||
(michael.dehaan/gmail/com) and has contributions from over 3700 users
|
||||
(and growing). Thanks everyone!
|
||||
|
||||
Ansible is sponsored by `Ansible, Inc <https://ansible.com>`_
|
||||
`Ansible <https://www.ansible.com>`_ is sponsored by `Red Hat, Inc.
|
||||
<https://www.redhat.com>`_
|
||||
|
||||
License
|
||||
=======
|
||||
|
|
2
changelogs/fragments/32738-native-jinja-types.yaml
Normal file
2
changelogs/fragments/32738-native-jinja-types.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
major_changes:
|
||||
- Allow config to enable native jinja types (https://github.com/ansible/ansible/pull/32738)
|
8
changelogs/fragments/42170-acme-backend-selection.yaml
Normal file
8
changelogs/fragments/42170-acme-backend-selection.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
minor_changes:
|
||||
- "The acme_account and acme_certificate modules now support two backends:
|
||||
the Python cryptograpy module or the OpenSSL binary. By default, the
|
||||
modules detect if a new enough cryptography module is available and
|
||||
use it, with the OpenSSL binary being a fallback. If the detection
|
||||
fails for some reason, the OpenSSL binary backend can be explicitly
|
||||
selected by setting select_crypto_backend to openssl."
|
2
changelogs/fragments/43931-strip-trailing-comments.yml
Normal file
2
changelogs/fragments/43931-strip-trailing-comments.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- user - Strip trailing comments in /etc/default/passwd (https://github.com/ansible/ansible/pull/43931)
|
2
changelogs/fragments/44500-win_domain_computer.yaml
Normal file
2
changelogs/fragments/44500-win_domain_computer.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- win_domain_computer - fixed deletion of computer active directory object that have dependent objects (https://github.com/ansible/ansible/pull/44500)
|
2
changelogs/fragments/44508-win_lineinfile.yaml
Normal file
2
changelogs/fragments/44508-win_lineinfile.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- win_lineinfile - changed `-Path` to `-LiteralPath` so that square brackes in the path are interpreted literally - https://github.com/ansible/ansible/issues/44508
|
2
changelogs/fragments/44552-mail-py370-compat.yml
Normal file
2
changelogs/fragments/44552-mail-py370-compat.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- fix mail module for python 3.7.0 (https://github.com/ansible/ansible/pull/44552)
|
2
changelogs/fragments/alternative_facts.yml
Normal file
2
changelogs/fragments/alternative_facts.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- Fix alt linux detection/matching
|
4
changelogs/fragments/authorized_key_symlinks.yaml
Normal file
4
changelogs/fragments/authorized_key_symlinks.yaml
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
bugfixes:
|
||||
- authorized_key now have an option for following symlinks,
|
||||
default behaviour (False) can be changed by setting follow True/False
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
minor_changes:
|
||||
- aws_caller_facts - The module now outputs the "account_alias" as well
|
3
changelogs/fragments/aws_rds_inventory_plugin_added.yaml
Normal file
3
changelogs/fragments/aws_rds_inventory_plugin_added.yaml
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
minor_changes:
|
||||
- aws_rds - Add new inventory plugin for RDS instances and clusters to match behavior in the ec2 inventory script.
|
2
changelogs/fragments/deepcopy-alternative.yaml
Normal file
2
changelogs/fragments/deepcopy-alternative.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
minor_changes:
|
||||
- replace copy.deepcopy in high workload areas with a custom function to improve performance (https://github.com/ansible/ansible/pull/44337)
|
7
changelogs/fragments/drop-python-2.6-controller.yaml
Normal file
7
changelogs/fragments/drop-python-2.6-controller.yaml
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
major_changes:
|
||||
- Support for running an Ansible controller with Python-2.6 has been dropped.
|
||||
You can still manage machines which use Python-2.6 but you will have to
|
||||
manage them from a machine which has Python-2.7 or Python-3.5 or greater
|
||||
installed. See the `porting guide <https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_2.7.html>`_
|
||||
if you need more information.
|
2
changelogs/fragments/ec2-facts.yaml
Normal file
2
changelogs/fragments/ec2-facts.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
removed_features:
|
||||
- ec2_facts - deprecated module removed (https://github.com/ansible/ansible/pull/44536)
|
4
changelogs/fragments/ec2_group_diff_mode_support.yml
Normal file
4
changelogs/fragments/ec2_group_diff_mode_support.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
minor_changes:
|
||||
- ec2_group - Add diff mode support with and without check mode. This feature
|
||||
is preview and may change when a common framework is adopted for AWS modules.
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
bugfixes:
|
||||
- elb_application_lb - Fix a dangerous behavior of deleting an ELB if state was omitted from the task.
|
||||
Now state defaults to 'present', which is typical throughout AWS modules.
|
2
changelogs/fragments/env_inject.yml
Normal file
2
changelogs/fragments/env_inject.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- allow gathering env exception to work even when injection is off
|
2
changelogs/fragments/fips_md5_import.yaml
Normal file
2
changelogs/fragments/fips_md5_import.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- basic.py - catch ValueError in case a FIPS enabled platform raises this exception - https://github.com/ansible/ansible/issues/44447
|
3
changelogs/fragments/fix-os_router.yaml
Normal file
3
changelogs/fragments/fix-os_router.yaml
Normal file
|
@ -0,0 +1,3 @@
|
|||
bugfixes:
|
||||
- fix the enable_snat parameter that is only supposed to be used by an user
|
||||
with the right policies. https://github.com/ansible/ansible/pull/44418
|
5
changelogs/fragments/fix-selectors-error-condition.yaml
Normal file
5
changelogs/fragments/fix-selectors-error-condition.yaml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
bugfixes:
|
||||
- fix for the bundled selectors module (used in the ssh and local connection
|
||||
plugins) when a syscall is restarted after being interrupted by a signal
|
||||
(https://github.com/ansible/ansible/issues/41630)
|
2
changelogs/fragments/fix_no_log_loop.yml
Normal file
2
changelogs/fragments/fix_no_log_loop.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- always correctly template no log for tasks https://github.com/ansible/ansible/issues/43294
|
2
changelogs/fragments/flatten-better-type-check.yml
Normal file
2
changelogs/fragments/flatten-better-type-check.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- flatten filter - use better method of type checking allowing flattening of mutable and non-mutable sequences (https://github.com/ansible/ansible/pull/44331)
|
2
changelogs/fragments/galaxy_list_all_roles.yaml
Normal file
2
changelogs/fragments/galaxy_list_all_roles.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- ansible-galaxy - properly list all roles in roles_path (https://github.com/ansible/ansible/issues/43010)
|
5
changelogs/fragments/get_url.yaml
Normal file
5
changelogs/fragments/get_url.yaml
Normal file
|
@ -0,0 +1,5 @@
|
|||
minor_changes:
|
||||
- get_url - implement [expend checksum format to <algorithm>:(<checksum>|<url>)] (https://github.com/ansible/ansible/issues/27617)
|
||||
|
||||
bugfixes:
|
||||
- get_url - fix the bug that get_url does not change mode when checksum matches (https://github.com/ansible/ansible/issues/29614)
|
|
@ -1,2 +0,0 @@
|
|||
bugfixes:
|
||||
- get_url - fix the bug that get_url does not change mode when checksum matches (https://github.com/ansible/ansible/issues/29614)
|
18
changelogs/fragments/hashing-changes.yaml
Normal file
18
changelogs/fragments/hashing-changes.yaml
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
bugfixes:
|
||||
- vars_prompt with encrypt does not require passlib for the algorithms
|
||||
supported by crypt.
|
||||
- Additional checks ensure that there is always a result of hashing passwords
|
||||
in the password_hash filter and vars_prompt, otherwise an error is returned.
|
||||
Some modules (like user module) interprets None as no password at all,
|
||||
which can be dangerous if the password given above is passed directly into
|
||||
those modules.
|
||||
- Avoids deprecated functionality of passlib with newer library versions.
|
||||
- password_hash does not hard-code the salt-length, which fixes bcrypt
|
||||
in connection with passlib as bcrypt requires a salt with length 22.
|
||||
minor_changes:
|
||||
- The password_hash filter supports all parameters of passlib.
|
||||
This allows users to provide a rounds parameter.
|
||||
(https://github.com/ansible/ansible/issues/15326)
|
||||
- password_hash is not restricted to the subset provided by crypt.crypt
|
||||
(https://github.com/ansible/ansible/issues/17266)
|
2
changelogs/fragments/ignore_unreachable.yml
Normal file
2
changelogs/fragments/ignore_unreachable.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
major_changes:
|
||||
- New keyword `ignore_unreachable` for plays and blocks. Allows ignoring tasks that fail due to unreachable hosts, and check results with `is unreachable` test.
|
8
changelogs/fragments/mass-remove-deprecated.yaml
Normal file
8
changelogs/fragments/mass-remove-deprecated.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
minor_changes:
|
||||
- roles - removed deprecated functionality for non YAML role specs (https://github.com/ansible/ansible/pull/44320)
|
||||
- vault - removed deprecated functionality for insecure VaultAES class (https://github.com/ansible/ansible/pull/44320)
|
||||
- gather_subset - removed deprecated functionality for using comma separated list with gather_subset (https://github.com/ansible/ansible/pull/44320)
|
||||
- vars_prompt - removed deprecated functionality supporting 'short form' for vars_prompt (https://github.com/ansible/ansible/pull/44320)
|
||||
- roles - removed deprecated special casing functionality of connection, port, and remote_user for role params (https://github.com/ansible/ansible/pull/44320)
|
||||
- ActionBase - removed deprecated _fixup_perms method (https://github.com/ansible/ansible/pull/44320)
|
||||
- service - removed deprecated state=running (https://github.com/ansible/ansible/pull/44320)
|
2
changelogs/fragments/module_defaults_groups.yml
Normal file
2
changelogs/fragments/module_defaults_groups.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
major_changes:
|
||||
- Extends `module_defaults` by adding a prefix to defaults `group/` which denotes a builtin or user-specified list of modules, such as `group/aws` or `group/gcp`
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
bugfixes:
|
||||
- The fix for `CVE-2018-10875 <https://access.redhat.com/security/cve/cve-2018-10875>`_
|
||||
prints out a warning message about skipping a config file from a world
|
||||
writable current working directory. However, if the user is in a world
|
||||
writable current working directory which does not contain a config file, it
|
||||
should not print a warning message. This release fixes that extaneous warning.
|
3
changelogs/fragments/password_sanity_check.yml
Normal file
3
changelogs/fragments/password_sanity_check.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
minor_changes:
|
||||
- user module - add a sanity check for the user's password and a more helpful warning message (https://github.com/ansible/ansible/pull/43615)
|
8
changelogs/fragments/remove-merge-multiple-tags.yaml
Normal file
8
changelogs/fragments/remove-merge-multiple-tags.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
removed_features:
|
||||
- The configuration toggle, ``merge_multiple_cli_tags``, has been removed.
|
||||
This setting controlled whether specifying ``--tags`` or ``--skip-tags``
|
||||
multiple times on the commandline would merge the specified tags or use the
|
||||
old behaviour of overwriting the previous entry. The overwriting behaviour
|
||||
was deprecated in 2.3 and the default value of the config option became merge
|
||||
in 2.4.
|
2
changelogs/fragments/remove-simplejson.yaml
Normal file
2
changelogs/fragments/remove-simplejson.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
major_changes:
|
||||
- Remove support for simplejson (https://github.com/ansible/ansible/issues/42761)
|
2
changelogs/fragments/s3.yaml
Normal file
2
changelogs/fragments/s3.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
removed_features:
|
||||
- s3 - deprecated module removed (https://github.com/ansible/ansible/pull/44537)
|
3
changelogs/fragments/sns_topic_boto3_port.yaml
Normal file
3
changelogs/fragments/sns_topic_boto3_port.yaml
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
minor_changes:
|
||||
- sns_topic - Port sns_topic module to boto3 and add an integration test suite.
|
2
changelogs/fragments/to-nice-json-separators.yaml
Normal file
2
changelogs/fragments/to-nice-json-separators.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
minor_changes:
|
||||
- to_nice_json - specify separators to json.dumps to normalize the output between python2 and python3 (https://github.com/ansible/ansible/pull/42633)
|
2
changelogs/fragments/user-module-backup-shadow.yaml
Normal file
2
changelogs/fragments/user-module-backup-shadow.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
minor_changes:
|
||||
- user - backup shadow file on platforms where the module modifies it directly (https://github.com/ansible/ansible/issues/40696)
|
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- vars_prompt - properly template play level variables in vars_prompt (https://github.com/ansible/ansible/issues/37984)
|
2
changelogs/fragments/vault-errors.yaml
Normal file
2
changelogs/fragments/vault-errors.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- vault - fix error message encoding, and ensure we present a friendlier error when the EDITOR is missing (https://github.com/ansible/ansible/pull/44423)
|
4
changelogs/fragments/vultr_modules_renamed.yml
Normal file
4
changelogs/fragments/vultr_modules_renamed.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
minor_changes:
|
||||
- "Changed the prefix of all Vultr modules from vr to vultr
|
||||
(https://github.com/ansible/ansible/issues/42942)."
|
22
changelogs/fragments/yum4_dnf_yum_action_plugin.yml
Normal file
22
changelogs/fragments/yum4_dnf_yum_action_plugin.yml
Normal file
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
major_changes:
|
||||
- yum and dnf modules now at feature parity
|
||||
- new yum action plugin enables the yum module to work with both yum3
|
||||
and dnf-based yum4 by detecting the backend package manager and routing
|
||||
commands through the correct Ansible module for that python API
|
||||
- New yumdnf module defines the shared argument specification for both
|
||||
yum and dnf modules and provides an entry point to share code when
|
||||
applicable
|
||||
|
||||
minor_changes:
|
||||
- Fixed group actions in check mode to report correct changed state
|
||||
- Better error handling for depsolve and transaction errors in DNF
|
||||
- Fixed group action idempotent transactions in dnf backend
|
||||
- Add use_backend to yum module/action plugin
|
||||
- Fix dnf handling of autoremove to be compatible with yum
|
||||
- Enable installroot tests for yum4(dnf) integration testing, dnf
|
||||
backend now supports that
|
||||
- Switch from zip to bc for certain package install/remove test
|
||||
cases in yum integration tests. The dnf depsolver downgrades
|
||||
python when you uninstall zip which alters the test environment
|
||||
and we have no control over that.
|
4
changelogs/fragments/zypper-on-ubuntu.yaml
Normal file
4
changelogs/fragments/zypper-on-ubuntu.yaml
Normal file
|
@ -0,0 +1,4 @@
|
|||
bugfixes:
|
||||
- Fixed an issue where ``ansible_facts.pkg_mgr`` would incorrectly set
|
||||
to ``zypper`` on Debian/Ubuntu systems that happened to have the
|
||||
command installed.
|
|
@ -46,10 +46,7 @@ import sys
|
|||
import time
|
||||
import ConfigParser
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
from ansible.module_utils.urls import open_url
|
||||
|
||||
|
|
|
@ -42,10 +42,7 @@ from libcloud.compute.types import Provider
|
|||
from libcloud.compute.providers import get_driver
|
||||
import libcloud.security as sec
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
|
||||
class LibcloudInventory(object):
|
||||
|
|
|
@ -649,7 +649,7 @@ class AzureInventory(object):
|
|||
# get VMs for requested resource groups
|
||||
for resource_group in self.resource_groups:
|
||||
try:
|
||||
virtual_machines = self._compute_client.virtual_machines.list(resource_group)
|
||||
virtual_machines = self._compute_client.virtual_machines.list(resource_group.lower())
|
||||
except Exception as exc:
|
||||
sys.exit("Error: fetching virtual machines for resource group {0} - {1}".format(resource_group, str(exc)))
|
||||
if self._args.host or self.tags:
|
||||
|
|
|
@ -84,10 +84,7 @@ try:
|
|||
except ImportError:
|
||||
from configparser import ConfigParser
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
try:
|
||||
import libbrook
|
||||
|
|
|
@ -31,10 +31,7 @@ from requests.auth import HTTPBasicAuth
|
|||
import warnings
|
||||
from ansible.errors import AnsibleError
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
|
||||
class CloudFormsInventory(object):
|
||||
|
|
|
@ -74,12 +74,7 @@ from __future__ import print_function
|
|||
|
||||
import sys
|
||||
import argparse
|
||||
|
||||
try:
|
||||
import json
|
||||
except:
|
||||
import simplejson as json
|
||||
|
||||
import json
|
||||
|
||||
try:
|
||||
from cs import CloudStack, CloudStackException, read_config
|
||||
|
|
|
@ -65,10 +65,7 @@ import re
|
|||
from time import time
|
||||
import xmlrpclib
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
from six import iteritems
|
||||
|
||||
|
|
|
@ -75,10 +75,7 @@ import sys
|
|||
from time import time
|
||||
import traceback
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
from six import iteritems
|
||||
from six.moves.urllib.parse import urlencode
|
||||
|
|
|
@ -191,10 +191,7 @@ if os.getenv('ANSIBLE_INVENTORY_CONSUL_IO_LOG_ENABLED'):
|
|||
setup_logging()
|
||||
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
try:
|
||||
import consul
|
||||
|
|
|
@ -149,10 +149,7 @@ try:
|
|||
except ImportError:
|
||||
import configparser as ConfigParser
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
|
||||
class DoManager:
|
||||
|
|
|
@ -179,10 +179,7 @@ except ImportError:
|
|||
from six.moves import configparser
|
||||
from collections import defaultdict
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
DEFAULTS = {
|
||||
'all_elasticache_clusters': 'False',
|
||||
|
|
|
@ -29,10 +29,7 @@ import subprocess
|
|||
import re
|
||||
import string
|
||||
from optparse import OptionParser
|
||||
try:
|
||||
import json
|
||||
except:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
# Options
|
||||
# ------------------------------
|
||||
|
|
|
@ -101,10 +101,7 @@ else:
|
|||
import logging
|
||||
logging.getLogger('libcloud.common.google').addHandler(logging.NullHandler())
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
try:
|
||||
from libcloud.compute.types import Provider
|
||||
|
|
|
@ -40,10 +40,7 @@ import sys
|
|||
|
||||
from landscape_api.base import API, HTTPError
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
_key = 'landscape'
|
||||
|
||||
|
|
|
@ -81,10 +81,7 @@ import sys
|
|||
import argparse
|
||||
from time import time
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
try:
|
||||
from chube import load_chube_config
|
||||
|
|
|
@ -28,10 +28,7 @@ version_added: None
|
|||
author: Michael Scherer
|
||||
'''
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
import os
|
||||
import os.path
|
||||
import sys
|
||||
|
|
|
@ -59,10 +59,7 @@ import time
|
|||
from distutils.version import StrictVersion
|
||||
from io import StringIO
|
||||
|
||||
try:
|
||||
import json
|
||||
except:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
import openstack as sdk
|
||||
from openstack.cloud import inventory as sdk_inventory
|
||||
|
|
|
@ -71,11 +71,7 @@ import argparse
|
|||
import ConfigParser
|
||||
from collections import defaultdict
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
# noinspection PyUnresolvedReferences,PyPackageRequirements
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
try:
|
||||
# noinspection PyUnresolvedReferences
|
||||
|
|
|
@ -70,10 +70,7 @@ try:
|
|||
except ImportError:
|
||||
import configparser
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
try:
|
||||
import ovirtsdk4 as sdk
|
||||
|
|
|
@ -55,10 +55,7 @@ except ImportError as e:
|
|||
import traceback
|
||||
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
|
||||
ini_section = 'packet'
|
||||
|
|
|
@ -25,10 +25,7 @@
|
|||
#
|
||||
# { "groups": ["utility", "databases"], "a": false, "b": true }
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
from optparse import OptionParser
|
||||
|
|
|
@ -155,10 +155,7 @@ import ConfigParser
|
|||
|
||||
from six import iteritems
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
try:
|
||||
import pyrax
|
||||
|
|
|
@ -59,10 +59,7 @@ from time import time
|
|||
from ansible.module_utils.six.moves import configparser
|
||||
from ansible.module_utils.six.moves.urllib.parse import urlparse
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
|
||||
class RudderInventory(object):
|
||||
|
|
|
@ -47,10 +47,7 @@ import sys
|
|||
import time
|
||||
import traceback
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
EMPTY_GROUP = {
|
||||
'children': [],
|
||||
|
|
|
@ -38,10 +38,7 @@ import sys
|
|||
# https://pypi.org/project/serfclient/
|
||||
from serfclient import SerfClient, EnvironmentConfig
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
_key = 'serf'
|
||||
|
||||
|
|
|
@ -36,10 +36,7 @@ import SoftLayer
|
|||
import re
|
||||
import argparse
|
||||
import itertools
|
||||
try:
|
||||
import json
|
||||
except:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
|
||||
class SoftLayerInventory(object):
|
||||
|
|
|
@ -48,13 +48,10 @@ import time
|
|||
from optparse import OptionParser
|
||||
import subprocess
|
||||
import ConfigParser
|
||||
import json
|
||||
|
||||
from six import iteritems
|
||||
|
||||
try:
|
||||
import json
|
||||
except:
|
||||
import simplejson as json
|
||||
|
||||
base_dir = os.path.dirname(os.path.realpath(__file__))
|
||||
default_ini_file = os.path.join(base_dir, "spacewalk.ini")
|
||||
|
|
|
@ -45,10 +45,7 @@ import os.path
|
|||
import sys
|
||||
from collections import MutableSequence
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
import paramiko
|
||||
|
||||
|
|
|
@ -49,10 +49,7 @@ import sys
|
|||
import yaml
|
||||
from distutils.version import StrictVersion
|
||||
|
||||
try:
|
||||
import json
|
||||
except:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
try:
|
||||
import requests
|
||||
|
|
|
@ -40,10 +40,7 @@ import re
|
|||
from paramiko import SSHConfig
|
||||
from optparse import OptionParser
|
||||
from collections import defaultdict
|
||||
try:
|
||||
import json
|
||||
except Exception:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
from ansible.module_utils._text import to_text
|
||||
from ansible.module_utils.six.moves import StringIO
|
||||
|
|
|
@ -18,10 +18,7 @@
|
|||
import sys
|
||||
from subprocess import Popen, PIPE
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
|
||||
class SetEncoder(json.JSONEncoder):
|
||||
|
|
|
@ -49,10 +49,7 @@ except:
|
|||
file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
try:
|
||||
import json
|
||||
except:
|
||||
import simplejson as json
|
||||
import json
|
||||
|
||||
|
||||
class ZabbixInventory(object):
|
||||
|
|
|
@ -71,12 +71,12 @@ from ansible.config.manager import ConfigManager, get_ini_config_value
|
|||
def main():
|
||||
config = ConfigManager()
|
||||
username = get_ini_config_value(
|
||||
config._parser,
|
||||
config._parsers[config._config_file],
|
||||
dict(section='vault', key='username')
|
||||
) or getpass.getuser()
|
||||
|
||||
keyname = get_ini_config_value(
|
||||
config._parser,
|
||||
config._parsers[config._config_file],
|
||||
dict(section='vault', key='keyname')
|
||||
) or 'ansible'
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ import re
|
|||
import sys
|
||||
import warnings
|
||||
from collections import defaultdict
|
||||
from copy import deepcopy
|
||||
from distutils.version import LooseVersion
|
||||
from functools import partial
|
||||
from pprint import PrettyPrinter
|
||||
|
@ -51,6 +52,7 @@ from six import iteritems, string_types
|
|||
from ansible.errors import AnsibleError
|
||||
from ansible.module_utils._text import to_bytes, to_text
|
||||
from ansible.module_utils.common.collections import is_sequence
|
||||
from ansible.module_utils.parsing.convert_bool import boolean
|
||||
from ansible.plugins.loader import fragment_loader
|
||||
from ansible.utils import plugin_docs
|
||||
from ansible.utils.display import Display
|
||||
|
@ -159,6 +161,17 @@ def rst_xline(width, char="="):
|
|||
test_list = partial(is_sequence, include_strings=False)
|
||||
|
||||
|
||||
def normalize_options(value):
|
||||
"""Normalize boolean option value."""
|
||||
|
||||
if value.get('type') == 'bool' and 'default' in value:
|
||||
try:
|
||||
value['default'] = boolean(value['default'], strict=True)
|
||||
except TypeError:
|
||||
pass
|
||||
return value
|
||||
|
||||
|
||||
def write_data(text, output_dir, outputname, module=None):
|
||||
''' dumps module output to a file or the screen, as requested '''
|
||||
|
||||
|
@ -251,11 +264,18 @@ def get_plugin_info(module_dir, limit_to=None, verbose=False):
|
|||
# Regular module to process
|
||||
#
|
||||
|
||||
# use ansible core library to parse out doc metadata YAML and plaintext examples
|
||||
doc, examples, returndocs, metadata = plugin_docs.get_docstring(module_path, fragment_loader, verbose=verbose)
|
||||
|
||||
if metadata and 'removed' in metadata.get('status'):
|
||||
continue
|
||||
|
||||
category = categories
|
||||
|
||||
# Start at the second directory because we don't want the "vendor"
|
||||
mod_path_only = os.path.dirname(module_path[len(module_dir):])
|
||||
|
||||
primary_category = ''
|
||||
module_categories = []
|
||||
# build up the categories that this module belongs to
|
||||
for new_cat in mod_path_only.split('/')[1:]:
|
||||
|
@ -271,8 +291,15 @@ def get_plugin_info(module_dir, limit_to=None, verbose=False):
|
|||
if module_categories:
|
||||
primary_category = module_categories[0]
|
||||
|
||||
# use ansible core library to parse out doc metadata YAML and plaintext examples
|
||||
doc, examples, returndocs, metadata = plugin_docs.get_docstring(module_path, fragment_loader, verbose=verbose)
|
||||
if 'options' in doc and doc['options'] is None:
|
||||
display.error("*** ERROR: DOCUMENTATION.options must be a dictionary/hash when used. ***")
|
||||
pos = getattr(doc, "ansible_pos", None)
|
||||
if pos is not None:
|
||||
display.error("Module position: %s, %d, %d" % doc.ansible_pos)
|
||||
doc['options'] = dict()
|
||||
|
||||
for key, opt in doc.get('options', {}).items():
|
||||
doc['options'][key] = normalize_options(opt)
|
||||
|
||||
# save all the information
|
||||
module_info[module] = {'path': module_path,
|
||||
|
@ -503,6 +530,11 @@ def process_plugins(module_map, templates, outputname, output_dir, ansible_versi
|
|||
|
||||
|
||||
def process_categories(plugin_info, categories, templates, output_dir, output_name, plugin_type):
|
||||
# For some reason, this line is changing plugin_info:
|
||||
# text = templates['list_of_CATEGORY_modules'].render(template_data)
|
||||
# To avoid that, make a deepcopy of the data.
|
||||
# We should track that down and fix it at some point in the future.
|
||||
plugin_info = deepcopy(plugin_info)
|
||||
for category in sorted(categories.keys()):
|
||||
module_map = categories[category]
|
||||
category_filename = output_name % category
|
||||
|
|
|
@ -5,7 +5,7 @@ This project hosts the source behind [docs.ansible.com](https://docs.ansible.com
|
|||
|
||||
Contributions to the documentation are welcome. To make changes, submit a pull request that changes the reStructuredText files in the `rst/` directory only, and the core team can do a docs build and push the static files.
|
||||
|
||||
If you wish to verify output from the markup such as link references, you may install sphinx and build the documentation by running `make viewdocs` from the `ansible/docsite` directory.
|
||||
If you wish to verify output from the markup such as link references, you may install sphinx and build the documentation by running `make webdocs` from the `ansible/docsite` directory.
|
||||
|
||||
To include module documentation you'll need to run `make webdocs` at the top level of the repository. The generated html files are in `docsite/htmlout/`.
|
||||
|
||||
|
|
|
@ -1,19 +1,23 @@
|
|||
.highlight .hll { background-color: #ffffcc }
|
||||
.highlight { background: #eeffcc; }
|
||||
.highlight .c { color: #408090; font-style: italic } /* Comment */
|
||||
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||
.highlight { background: #f8f8f8 }
|
||||
.highlight .hll { background-color: #ffffcc; border: 1px solid #ccc; padding: 6px 10px; border-radius: 3px }
|
||||
.highlight .c { color: #6a737d; font-style: italic } /* Comment */
|
||||
.highlight .err { color: #a61717; background-color: #e3d2d2; color: #a61717; border: 1px solid #FF0000 } /* Error */
|
||||
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
|
||||
.highlight .o { color: #666666 } /* Operator */
|
||||
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .o { color: #666666; font-weight: bold } /* Operator */
|
||||
.highlight .ch { color: #6a737d; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #6a737d; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #007020 } /* Comment.Preproc */
|
||||
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
|
||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||
.highlight .cpf { color: #6a737d; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #6a737d; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #999999; font-weight: bold; font-style: italic; background-color: #fff0f0 } /* Comment.Special */
|
||||
.highlight .gd { color: #A00000; background-color: #ffdddd } /* Generic.Deleted */
|
||||
.highlight .gd .x { color: #A00000; background-color: #ffaaaa }
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
||||
.highlight .gr { color: #aa0000 } /* Generic.Error */
|
||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||
.highlight .go { color: #303030 } /* Generic.Output */
|
||||
.highlight .gi { color: #00A000; background-color: #ddffdd } /* Generic.Inserted */
|
||||
.highlight .gi .x { color: #00A000; background-color: #aaffaa; }
|
||||
.highlight .go { color: #333333 } /* Generic.Output */
|
||||
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
|
||||
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
|
@ -24,39 +28,49 @@
|
|||
.highlight .kp { color: #007020 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #902000 } /* Keyword.Type */
|
||||
.highlight .l { color: #032f62 } /* Literal */
|
||||
.highlight .m { color: #208050 } /* Literal.Number */
|
||||
.highlight .s { color: #4070a0 } /* Literal.String */
|
||||
.highlight .na { color: #4070a0 } /* Name.Attribute */
|
||||
.highlight .nb { color: #007020 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #60add5 } /* Name.Constant */
|
||||
.highlight .n { color: #333333 }
|
||||
.highlight .p { font-weight: bold }
|
||||
.highlight .na { color: teal } /* Name.Attribute */
|
||||
.highlight .nb { color: #0086b3 } /* Name.Builtin */
|
||||
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: teal; } /* Name.Constant */
|
||||
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
|
||||
.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
|
||||
.highlight .ne { color: #007020 } /* Name.Exception */
|
||||
.highlight .nf { color: #06287e } /* Name.Function */
|
||||
.highlight .ni { color: purple; font-weight: bold } /* Name.Entity */
|
||||
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
|
||||
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
|
||||
.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
|
||||
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
|
||||
.highlight .nv { color: #bb60d5 } /* Name.Variable */
|
||||
.highlight .nn { color: #555555; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nt { color: #22863a } /* Name.Tag */
|
||||
.highlight .nv { color: #9960b5; font-weight: bold } /* Name.Variable */
|
||||
.highlight .p { color: font-weight: bold } /* Indicator */
|
||||
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
|
||||
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.highlight .mf { color: #208050 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #208050 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #208050 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #208050 } /* Literal.Number.Oct */
|
||||
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #4070a0 } /* Literal.String.Char */
|
||||
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
|
||||
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #c65d09 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #235388 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #517918 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
|
||||
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
|
||||
.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
|
||||
.highlight .mb { color: #009999 } /* Literal.Number.Bin */
|
||||
.highlight .mf { color: #009999 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
|
||||
.highlight .sa { color: #dd1144 } /* Literal.String.Affix */
|
||||
.highlight .sb { color: #dd1144 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #dd1144 } /* Literal.String.Char */
|
||||
.highlight .dl { color: #dd1144 } /* Literal.String.Delimiter */
|
||||
.highlight .sd { color: #dd1144; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #dd1144 } /* Literal.String.Double */
|
||||
.highlight .se { color: #dd1144; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #dd1144 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #dd1144; font-style: italic } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #dd1144 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #009926 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #dd1144 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
|
||||
.highlight .fm { color: #06287e } /* Name.Function.Magic */
|
||||
.highlight .vc { color: teal } /* Name.Variable.Class */
|
||||
.highlight .vg { color: teal } /* Name.Variable.Global */
|
||||
.highlight .vi { color: teal } /* Name.Variable.Instance */
|
||||
.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
|
||||
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
|
||||
.highlight .gc { color: #909090; background-color: #eaf2f5 }
|
||||
|
|
|
@ -37,6 +37,7 @@ gather_timeout: Allows you to set the timeout for the fact gathering plugin cont
|
|||
handlers: "A section with tasks that are treated as handlers, these won't get executed normally, only when notified after each section of tasks is complete."
|
||||
hosts: "A list of groups, hosts or host pattern that translates into a list of hosts that are the play's target."
|
||||
ignore_errors: Boolean that allows you to ignore task failures and continue with play. It does not affect connection errors.
|
||||
ignore_unreachable: Boolean that allows you to ignore unreachable hosts and continue with play. This does not affect other task errors (see :term:`ignore_errors`) but is useful for groups of volatile/ephemeral hosts.
|
||||
loop: "Takes a list for the task to iterate over, saving each list element into the ``item`` variable (configurable via loop_control)"
|
||||
loop_control: |
|
||||
Several keys here allow you to modify/set loop behaviour in a task.
|
||||
|
|
|
@ -70,6 +70,6 @@ participate. For more information about Ansible meetings, consult the `meeting s
|
|||
Tower Support Questions
|
||||
========================
|
||||
|
||||
Ansible `Tower <https://ansible.com/tower>`_ is a UI, Server, and REST endpoint for Ansible.
|
||||
Ansible `Tower <https://www.ansible.com/products/tower>`_ is a UI, Server, and REST endpoint for Ansible.
|
||||
|
||||
If you have a question about Ansible Tower, visit `Red Hat support <https://access.redhat.com/products/ansible-tower-red-hat/>`_ rather than using the IRC channel or the general project mailing list.
|
||||
|
|
|
@ -16,7 +16,7 @@ A great way to help the Ansible project is to become a power user:
|
|||
* Take tutorials and classes
|
||||
* Read the :ref:`official documentation <ansible_documentation>`
|
||||
* Study some of the `many excellent books <https://www.amazon.com/s/ref=nb_sb_ss_c_2_7?url=search-alias%3Dstripbooks&field-keywords=ansible&sprefix=ansible%2Caps%2C260>`_ about Ansible
|
||||
* `Get certified <https://www.ansible.com/training-certification>`_.
|
||||
* `Get certified <https://www.ansible.com/products/training-certification>`_.
|
||||
|
||||
When you become a power user, your ability and opportunities to help the Ansible project in other ways will multiply quickly.
|
||||
|
||||
|
@ -32,7 +32,7 @@ Participate in your local meetup
|
|||
|
||||
There are Ansible meetups `all over the world <https://www.meetup.com/topics/ansible/>`_. Join your local meetup. Attend regularly. Ask good questions. Volunteer to give a presentation about how you use Ansible.
|
||||
|
||||
If there isn't a meetup near you, we'll be happy to help you `start one <https://www.ansible.com/ansible-meetup-organizer>`_.
|
||||
If there isn't a meetup near you, we'll be happy to help you `start one <https://www.ansible.com/community/events/ansible-meetups>`_.
|
||||
|
||||
File and verify issues
|
||||
----------------------
|
||||
|
@ -47,7 +47,7 @@ Review and submit pull requests
|
|||
|
||||
As you become more familiar with how Ansible works, you may be able to fix issues or develop new features yourself. If you think you've got a solution to a bug you've found in Ansible, or if you've got a new feature that you've written and would like to share with millions of Ansible users, read all about the :ref:`Ansible development process <community_development_process>` to learn how to get your code accepted into Ansible.
|
||||
|
||||
Another good way to help is to review pull requests that other Ansible users have submitted. The Ansible community keeps a full list of `open pull requests by file <https://ansible.sivel.net/byfile.html>`_, so if there's a particular module or plug-in that particularly interests you, you can easily keep track of all the relevant new pull requests and provide testing or feedback.
|
||||
Another good way to help is to review pull requests that other Ansible users have submitted. The Ansible community keeps a full list of `open pull requests by file <https://ansible.sivel.net/pr/byfile.html>`_, so if there's a particular module or plug-in that particularly interests you, you can easily keep track of all the relevant new pull requests and provide testing or feedback.
|
||||
|
||||
Become a module maintainer
|
||||
--------------------------
|
||||
|
|
|
@ -183,7 +183,7 @@ html_copy_source = False
|
|||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
html_use_opensearch = 'https://docs.ansible.com/ansible/latest/'
|
||||
html_use_opensearch = 'https://docs.ansible.com/ansible/latest'
|
||||
|
||||
# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
# html_file_suffix = ''
|
||||
|
|
|
@ -342,7 +342,7 @@ An easy way to see how this should look is using :ref:`ansible-inventory`, which
|
|||
How to develop modules
|
||||
:doc:`developing_plugins`
|
||||
How to develop plugins
|
||||
`Ansible Tower <https://ansible.com/ansible-tower>`_
|
||||
`Ansible Tower <https://www.ansible.com/products/tower>`_
|
||||
REST API endpoint and GUI for Ansible, syncs with dynamic inventory
|
||||
`Development Mailing List <https://groups.google.com/group/ansible-devel>`_
|
||||
Mailing list for development topics
|
||||
|
|
|
@ -417,7 +417,7 @@ Example usage::
|
|||
See also M(win_copy) or M(win_template).
|
||||
...
|
||||
Time zone names are from the L(tz database,https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
|
||||
See U(https://www.ansible.com/tower) for an overview.
|
||||
See U(https://www.ansible.com/products/tower) for an overview.
|
||||
...
|
||||
See L(IOS Platform Options guide, ../network/user_guide/platform_ios.html)
|
||||
|
||||
|
|
|
@ -336,7 +336,7 @@ the most popular are
|
|||
- `Powershell ISE`_
|
||||
- `Visual Studio Code`_
|
||||
|
||||
.. _Powershell ISE: https://msdn.microsoft.com/en-us/powershell/scripting/core-powershell/ise/how-to-debug-scripts-in-windows-powershell-ise
|
||||
.. _Powershell ISE: https://docs.microsoft.com/en-us/powershell/scripting/core-powershell/ise/how-to-debug-scripts-in-windows-powershell-ise
|
||||
.. _Visual Studio Code: https://blogs.technet.microsoft.com/heyscriptingguy/2017/02/06/debugging-powershell-script-in-visual-studio-code-part-1/
|
||||
|
||||
To be able to view the arguments as passed by Ansible to the module follow
|
||||
|
|
|
@ -30,13 +30,15 @@ controller-side section.
|
|||
Minimum Version of Python-3.x and Python-2.x
|
||||
--------------------------------------------
|
||||
|
||||
In both controller side and module code, we support Python-3.5 or greater and Python-2.6 or
|
||||
greater. Python-3.5 was chosen as a minimum because it is the earliest Python-3 version
|
||||
adopted as the default Python by a Long Term Support (LTS) Linux distribution (in this case, Ubuntu-16.04).
|
||||
Previous LTS Linux distributions shipped with a Python-2 version which users can rely upon instead of the
|
||||
Python-3 version.
|
||||
On the controller we support Python-3.5 or greater and Python-2.7 or greater. Module-side, we
|
||||
support Python-3.5 or greater and Python-2.6 or greater.
|
||||
|
||||
For Python-2, the default is for modules to run on at least Python-2.6. This allows
|
||||
Python-3.5 was chosen as a minimum because it is the earliest Python-3 version adopted as the
|
||||
default Python by a Long Term Support (LTS) Linux distribution (in this case, Ubuntu-16.04).
|
||||
Previous LTS Linux distributions shipped with a Python-2 version which users can rely upon instead
|
||||
of the Python-3 version.
|
||||
|
||||
For Python 2, the default is for modules to run on at least Python-2.6. This allows
|
||||
users with older distributions that are stuck on Python-2.6 to manage their
|
||||
machines. Modules are allowed to drop support for Python-2.6 when one of
|
||||
their dependent libraries requires a higher version of Python. This is not an
|
||||
|
|
|
@ -336,7 +336,7 @@ epub_copyright = copyright
|
|||
# The format is a list of tuples containing the path and title.
|
||||
# epub_pre_files = []
|
||||
|
||||
# HTML files shat should be inserted after the pages created by sphinx.
|
||||
# HTML files that should be inserted after the pages created by sphinx.
|
||||
# The format is a list of tuples containing the path and title.
|
||||
# epub_post_files = []
|
||||
|
||||
|
|
|
@ -531,6 +531,12 @@ A helpful development approach to this should be to ensure that all of the tests
|
|||
run under Python 2.6 and that each assertion in the test cases has been checked to work by breaking
|
||||
the code in Ansible to trigger that failure.
|
||||
|
||||
.. warning:: Maintain Python-2.6 compatibility
|
||||
|
||||
Please remember that modules need to maintain compatibility with Python-2.6 so the unittests for
|
||||
modules should also be compatible with Python-2.6.
|
||||
|
||||
|
||||
.. seealso::
|
||||
|
||||
:doc:`testing_units`
|
||||
|
@ -547,7 +553,7 @@ the code in Ansible to trigger that failure.
|
|||
The documentation of pytest - the framework actually used to run Ansible unit tests
|
||||
`Development Mailing List <https://groups.google.com/group/ansible-devel>`_
|
||||
Mailing list for development topics
|
||||
`Testing Your Code (from The Hitchhiker's Guide to Python!) <https://docs.python-guide.org/en/latest/writing/tests/>`_
|
||||
`Testing Your Code (from The Hitchhiker's Guide to Python!) <https://docs.python-guide.org/writing/tests/>`_
|
||||
General advice on testing Python code
|
||||
`Uncle Bob's many videos on YouTube <https://www.youtube.com/watch?v=QedpQjxBPMA&list=PLlu0CT-JnSasQzGrGzddSczJQQU7295D2>`_
|
||||
Unit testing is a part of the of various philosophies of software development, including
|
||||
|
|
|
@ -106,7 +106,9 @@ Errors
|
|||
316 Invalid ``ANSIBLE_METADATA`` schema
|
||||
317 option is marked as required but specifies a default.
|
||||
Arguments with a default should not be marked as required
|
||||
318 Module deprecated, but DOCUMENTATION.deprecated is missing
|
||||
318 Module marked as deprecated or removed in at least one of the filename, its metadata, or
|
||||
in DOCUMENTATION (setting DOCUMENTATION.deprecated for deprecation or removing all
|
||||
documentation for removed) but not in all three places.
|
||||
319 ``RETURN`` fragments missing or invalid
|
||||
320 ``DOCUMENTATION.options`` must be a dictionary/hash when used
|
||||
321 ``Exception`` attempting to import module for ``argument_spec`` introspection
|
||||
|
@ -121,6 +123,8 @@ Errors
|
|||
330 Choices value from the argument_spec is not compatible with type defined in the argument_spec
|
||||
331 argument in argument_spec must be a dictionary/hash when used
|
||||
332 ``AnsibleModule`` schema validation error
|
||||
333 ``ANSIBLE_METADATA.status`` of deprecated or removed can't include other statuses
|
||||
|
||||
..
|
||||
--------- -------------------
|
||||
**4xx** **Syntax**
|
||||
|
|
|
@ -15,7 +15,7 @@ We believe simplicity is relevant to all sizes of environments, so we design for
|
|||
Ansible manages machines in an agent-less manner. There is never a question of how to
|
||||
upgrade remote daemons or the problem of not being able to manage systems because daemons are uninstalled. Because OpenSSH is one of the most peer-reviewed open source components, security exposure is greatly reduced. Ansible is decentralized--it relies on your existing OS credentials to control access to remote machines. If needed, Ansible can easily connect with Kerberos, LDAP, and other centralized authentication management systems.
|
||||
|
||||
This documentation covers the current released version of Ansible (2.5) and also some development version features. For recent features, we note in each section the version of Ansible where the feature was added.
|
||||
This documentation covers the current released version of Ansible (2.6) and also some development version features. For recent features, we note in each section the version of Ansible where the feature was added.
|
||||
|
||||
Ansible releases a new major release of Ansible approximately every two months. The core application evolves somewhat conservatively, valuing simplicity in language design and setup. However, the community around new modules and plugins being developed and contributed moves very quickly, adding many new modules in each release.
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ as a ".rpmnew" file (or other) as appropriate in the case of updates.
|
|||
If you installed Ansible from pip or from source, you may want to create this file in order to override
|
||||
default settings in Ansible.
|
||||
|
||||
An `example file is available on Github <https://raw.github.com/ansible/ansible/devel/examples/ansible.cfg>`_.
|
||||
An `example file is available on Github <https://raw.githubusercontent.com/ansible/ansible/devel/examples/ansible.cfg>`_.
|
||||
|
||||
For more details and a full listing of available configurations go to :ref:`configuration_settings<ansible_configuration_settings>`. Starting with Ansible version 2.4, you can use the :ref:`ansible-config` command line utility to list your available options and inspect the current values.
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ information about running from source. It's not necessary to install the progra
|
|||
Control Machine Requirements
|
||||
````````````````````````````
|
||||
|
||||
Currently Ansible can be run from any machine with Python 2 (versions 2.6 or 2.7) or Python 3 (versions 3.5 and higher) installed (Windows isn't supported for the control machine).
|
||||
Currently Ansible can be run from any machine with Python 2 (version 2.7) or Python 3 (versions 3.5 and higher) installed. Windows isn't supported for the control machine.
|
||||
|
||||
This includes Red Hat, Debian, CentOS, macOS, any of the BSDs, and so on.
|
||||
|
||||
|
@ -139,7 +139,7 @@ You can also build an RPM yourself. From the root of a checkout or tarball, use
|
|||
Latest Releases Via Apt (Ubuntu)
|
||||
++++++++++++++++++++++++++++++++
|
||||
|
||||
Ubuntu builds are available `in a PPA here <https://launchpad.net/~ansible/+archive/ansible>`_.
|
||||
Ubuntu builds are available `in a PPA here <https://launchpad.net/~ansible/+archive/ubuntu/ansible>`_.
|
||||
|
||||
To configure the PPA on your machine and install ansible run these commands:
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ Avoid spaces, hyphens, and preceding numbers (use ``floor_19``, not ``19th_floor
|
|||
|
||||
This tiny example data center illustrates a basic group structure. You can group groups using the syntax ``[metagroupname:children]`` and listing groups as members of the metagroup. Here, the group ``network`` includes all leafs and all spines; the group ``datacenter`` includes all network devices plus all webservers.
|
||||
|
||||
.. code-block:: yaml
|
||||
.. code-block:: ini
|
||||
|
||||
[leafs]
|
||||
leaf01
|
||||
|
@ -47,7 +47,7 @@ Add Variables to Inventory
|
|||
|
||||
Next, you can set values for many of the variables you needed in your first Ansible command in the inventory, so you can skip them in the ansible-playbook command. In this example, the inventory includes each network device's IP, OS, and SSH user. If your network devices are only accessible by IP, you must add the IP to the inventory file. If you access your network devices using hostnames, the IP is not necessary.
|
||||
|
||||
.. code-block:: yaml
|
||||
.. code-block:: ini
|
||||
|
||||
[leafs]
|
||||
leaf01 ansible_host=10.16.10.11 ansible_network_os=vyos ansible_user=my_vyos_user
|
||||
|
@ -75,7 +75,7 @@ Group Variables within Inventory
|
|||
|
||||
When devices in a group share the same variable values, such as OS or SSH user, you can reduce duplication and simplify maintenance by consolidating these into group variables:
|
||||
|
||||
.. code-block:: yaml
|
||||
.. code-block:: ini
|
||||
|
||||
[leafs]
|
||||
leaf01 ansible_host=10.16.10.11
|
||||
|
@ -123,7 +123,7 @@ Group Inventory by Platform
|
|||
|
||||
As your inventory grows, you may want to group devices by platform. This allows you to specify platform-specific variables easily for all devices on that platform:
|
||||
|
||||
.. code-block:: yaml
|
||||
.. code-block:: ini
|
||||
|
||||
[vyos_leafs]
|
||||
leaf01 ansible_host=10.16.10.11
|
||||
|
@ -155,7 +155,7 @@ As your inventory grows, you may want to group devices by platform. This allows
|
|||
|
||||
With this setup, you can run first_playbook.yml with only two flags:
|
||||
|
||||
.. code-block:: bash
|
||||
.. code-block:: console
|
||||
|
||||
ansible-playbook -i inventory -k first_playbook.yml
|
||||
|
||||
|
@ -171,19 +171,19 @@ First you must create a password for ansible-vault itself. It is used as the enc
|
|||
|
||||
Create a file and write your password for ansible-vault to it:
|
||||
|
||||
.. code-block:: bash
|
||||
.. code-block:: console
|
||||
|
||||
echo "my-ansible-vault-pw" > ~/my-ansible-vault-pw-file
|
||||
|
||||
Create the encrypted ssh password for your VyOS network devices, pulling your ansible-vault password from the file you just created:
|
||||
|
||||
.. code-block:: bash
|
||||
.. code-block:: console
|
||||
|
||||
ansible-vault encrypt_string --vault-id my_user@~/my-ansible-vault-pw-file 'VyOS_SSH_password' --name 'ansible_ssh_pass'
|
||||
|
||||
If you prefer to type your ansible-vault password rather than store it in a file, you can request a prompt:
|
||||
|
||||
.. code-block:: bash
|
||||
.. code-block:: console
|
||||
|
||||
ansible-vault encrypt_string --vault-id my_user@prompt 'VyOS_SSH_password' --name 'ansible_ssh_pass'
|
||||
|
||||
|
@ -191,7 +191,7 @@ and type in the vault password for ``my_user``.
|
|||
|
||||
The :option:`--vault-id <ansible-playbook --vault-id>` flag allows different vault passwords for different users or different levels of access. The output includes the user name ``my_user`` from your ``ansible-vault`` command and uses the YAML syntax ``key: value``:
|
||||
|
||||
.. code-block:: bash
|
||||
.. code-block:: yaml
|
||||
|
||||
ansible_ssh_pass: !vault |
|
||||
$ANSIBLE_VAULT;1.2;AES256;my_user
|
||||
|
@ -202,31 +202,39 @@ The :option:`--vault-id <ansible-playbook --vault-id>` flag allows different vau
|
|||
65656439626166666363323435613131643066353762333232326232323565376635
|
||||
Encryption successful
|
||||
|
||||
Copy this output into your inventory file under ``[vyos:vars]``, which now looks like this:
|
||||
This is an example using an extract from a YAML inventory, as the INI format does not support inline vaults:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
[vyos:vars]
|
||||
ansible_connection=network_cli
|
||||
ansible_network_os=vyos
|
||||
ansible_user=my_vyos_user
|
||||
ansible_ssh_pass= !vault |
|
||||
$ANSIBLE_VAULT;1.2;AES256;my_user
|
||||
66386134653765386232383236303063623663343437643766386435663632343266393064373933
|
||||
3661666132363339303639353538316662616638356631650a316338316663666439383138353032
|
||||
63393934343937373637306162366265383461316334383132626462656463363630613832313562
|
||||
3837646266663835640a313164343535316666653031353763613037656362613535633538386539
|
||||
65656439626166666363323435613131643066353762333232326232323565376635
|
||||
...
|
||||
|
||||
vyos: # this is a group in yaml inventory, but you can also do under a host
|
||||
vars:
|
||||
ansible_connection: network_cli
|
||||
ansible_network_os: vyos
|
||||
ansible_user: my_vyos_user
|
||||
ansible_ssh_pass: !vault |
|
||||
$ANSIBLE_VAULT;1.2;AES256;my_user
|
||||
66386134653765386232383236303063623663343437643766386435663632343266393064373933
|
||||
3661666132363339303639353538316662616638356631650a316338316663666439383138353032
|
||||
63393934343937373637306162366265383461316334383132626462656463363630613832313562
|
||||
3837646266663835640a313164343535316666653031353763613037656362613535633538386539
|
||||
65656439626166666363323435613131643066353762333232326232323565376635
|
||||
|
||||
...
|
||||
|
||||
To use an inline vaulted variables with an INI inventory you need to store it in a 'vars' file in YAML format,
|
||||
it can reside in host_vars/ or group_vars/ to be automatically picked up or referenced from a play via ``vars_files`` or ``include_vars``.
|
||||
|
||||
To run a playbook with this setup, drop the ``-k`` flag and add a flag for your ``vault-id``:
|
||||
|
||||
.. code-block:: bash
|
||||
.. code-block:: console
|
||||
|
||||
ansible-playbook -i inventory --vault-id my_user@~/my-ansible-vault-pw-file first_playbook.yml
|
||||
|
||||
Or with a prompt instead of the vault password file:
|
||||
|
||||
.. code-block:: bash
|
||||
.. code-block:: console
|
||||
|
||||
ansible-playbook -i inventory --vault-id my_user@prompt first_playbook.yml
|
||||
|
||||
|
|
|
@ -49,8 +49,8 @@ Text
|
|||
|
||||
Read more about Ansible for Network Automation:
|
||||
|
||||
- Network Automation on the `Ansible website <https://ansible.com/overview/networking>`_
|
||||
- Ansible Network `Blog posts <https://ansible.com/blog/topic/networks>`_
|
||||
- Network Automation on the `Ansible website <https://www.ansible.com/overview/networking>`_
|
||||
- Ansible Network `Blog posts <https://www.ansible.com/blog/topic/networks>`_
|
||||
|
||||
Events (on Video and in Person)
|
||||
--------------------------------
|
||||
|
|
|
@ -107,8 +107,8 @@ Example eAPI ``group_vars/eos.yml``
|
|||
ansible_network_os: eos
|
||||
ansible_user: myuser
|
||||
ansible_ssh_pass: !vault...
|
||||
become: yes
|
||||
become_method: enable
|
||||
ansible_become: yes
|
||||
ansible_become_method: enable
|
||||
proxy_env:
|
||||
http_proxy: http://proxy.example.com:8080
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ Some Ansible Network platforms support multiple connection types, privilege esca
|
|||
platform_routeros
|
||||
platform_slxos
|
||||
platform_voss
|
||||
platform_netconf_enabled
|
||||
|
||||
.. _settings_by_platform:
|
||||
|
||||
|
@ -63,5 +64,8 @@ Settings by Platform
|
|||
+-------------------+-------------------------+----------------------+----------------------+------------------+------------------+
|
||||
| VyOS* | ``vyos`` | in v. >=2.5 | N/A | N/A | in v. >=2.4 |
|
||||
+-------------------+-------------------------+----------------------+----------------------+------------------+------------------+
|
||||
| OS that supports | ``<network-os>`` | N/A | in v. >=2.6 | N/A | in v. >=2.2 |
|
||||
| Netconf* | | | | | |
|
||||
+-------------------+-------------------------+----------------------+----------------------+------------------+------------------+
|
||||
|
||||
`*` Maintained by Ansible Network Team
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
.. _netconf_enabled_platform_options:
|
||||
|
||||
***************************************
|
||||
Netconf enabled Platform Options
|
||||
***************************************
|
||||
|
||||
This page offers details on how the netconf connection works in Ansible 2.7 and how to use it.
|
||||
|
||||
.. contents:: Topics
|
||||
|
||||
Connections Available
|
||||
================================================================================
|
||||
|
||||
+----------------------------+----------------------------------------------------------------------------------------------------+
|
||||
| | | | NETCONF |
|
||||
| | | | * all modules except ``junos_netconf``, which enables NETCONF |
|
||||
+============================+====================================================================================================+
|
||||
| **Protocol** | XML over SSH |
|
||||
+----------------------------+----------------------------------------------------------------------------------------------------+
|
||||
| | **Credentials** | | uses SSH keys / SSH-agent if present |
|
||||
| | | | accepts ``-u myuser -k`` if using password |
|
||||
+----------------------------+----------------------------------------------------------------------------------------------------+
|
||||
| **Indirect Access** | via a bastion (jump host) |
|
||||
+----------------------------+----------------------------------------------------------------------------------------------------+
|
||||
| **Connection Settings** | ``ansible_connection: netconf`` |
|
||||
+----------------------------+----------------------------------------------------------------------------------------------------+
|
||||
|
||||
For legacy playbooks, Ansible still supports ``ansible_connection=local`` for the netconf_config module only. We recommend modernizing to use ``ansible_connection=netconf`` as soon as possible.
|
||||
|
||||
Using NETCONF in Ansible 2.6 onwards
|
||||
================================================================================
|
||||
|
||||
Enabling NETCONF
|
||||
----------------
|
||||
|
||||
Before you can use NETCONF to connect to a switch, you must:
|
||||
|
||||
- install the ``ncclient`` Python package on your control node(s) with ``pip install ncclient``
|
||||
- enable NETCONF on the Junos OS device(s)
|
||||
|
||||
To enable NETCONF on a new switch via Ansible, use the platform specific module via the CLI connection or set it manually.
|
||||
For example set up your platform-level variables just like in the CLI example above, then run a playbook task like this:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
- name: Enable NETCONF
|
||||
connection: network_cli
|
||||
junos_netconf:
|
||||
when: ansible_network_os == 'junos'
|
||||
|
||||
Once NETCONF is enabled, change your variables to use the NETCONF connection.
|
||||
|
||||
Example NETCONF inventory ``[junos:vars]``
|
||||
------------------------------------------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
[junos:vars]
|
||||
ansible_connection=netconf
|
||||
ansible_network_os=junos
|
||||
ansible_user=myuser
|
||||
ansible_ssh_pass=!vault |
|
||||
|
||||
|
||||
Example NETCONF Task
|
||||
--------------------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
- name: Backup current switch config
|
||||
netconf_config:
|
||||
backup: yes
|
||||
register: backup_junos_location
|
||||
|
||||
Example NETCONF Task with configurable variables
|
||||
------------------------------------------------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
- name: configure interface while providing different private key file path
|
||||
netconf_config:
|
||||
backup: yes
|
||||
register: backup_junos_location
|
||||
vars:
|
||||
ansible_private_key_file: /home/admin/.ssh/newprivatekeyfile
|
||||
|
||||
Note: For nectonf connection plugin configurable variables .. _Refer: https://docs.ansible.com/ansible/latest/plugins/connection/netconf.html
|
||||
|
||||
.. include:: shared_snippets/SSH_warning.txt
|
|
@ -62,7 +62,7 @@ Example CLI Task
|
|||
|
||||
- name: Get version information (nos)
|
||||
nos_command:
|
||||
command: "show version"
|
||||
commands: "show version"
|
||||
register: show_ver
|
||||
when: ansible_network_os == 'nos'
|
||||
|
||||
|
|
|
@ -118,15 +118,23 @@ Deprecation notices
|
|||
|
||||
The following modules will be removed in Ansible 2.5. Please update your playbooks accordingly.
|
||||
|
||||
* :ref:`ec2_vpc <ec2_vpc_module>`
|
||||
* :ref:`cl_bond <cl_bond_module>`
|
||||
* :ref:`cl_bridge <cl_bridge_module>`
|
||||
* :ref:`cl_img_install <cl_img_install_module>`
|
||||
* :ref:`cl_interface <cl_interface_module>`
|
||||
* :ref:`cl_interface_policy <cl_interface_policy_module>`
|
||||
* :ref:`cl_license <cl_license_module>`
|
||||
* :ref:`cl_ports <cl_ports_module>`
|
||||
* :ref:`nxos_mtu <nxos_mtu_module>` use :ref:`nxos_system <nxos_system_module>` instead
|
||||
* ec2_vpc
|
||||
* cl_bond
|
||||
* cl_bridge
|
||||
* cl_img_install
|
||||
* cl_interface
|
||||
* cl_interface_policy
|
||||
* cl_license
|
||||
* cl_ports
|
||||
* nxos_mtu use :ref:`nxos_system <nxos_system_module>` instead
|
||||
|
||||
.. note::
|
||||
|
||||
These modules may no longer have documentation in the current release. Please see the
|
||||
`Ansible 2.3 module documentation
|
||||
<https://docs.ansible.com/ansible/2.3/list_of_all_modules.html>`_ if you need
|
||||
to know how they worked for porting your playbooks.
|
||||
|
||||
|
||||
Noteworthy module changes
|
||||
-------------------------
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue