ansible-ruby 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (596) hide show
  1. checksums.yaml +7 -0
  2. data/lib/ansible-ruby.rb +7 -0
  3. data/lib/ansible/ruby/dsl_builders/args.rb +19 -0
  4. data/lib/ansible/ruby/dsl_builders/base.rb +54 -0
  5. data/lib/ansible/ruby/dsl_builders/file_level.rb +52 -0
  6. data/lib/ansible/ruby/dsl_builders/module_call.rb +50 -0
  7. data/lib/ansible/ruby/dsl_builders/play.rb +53 -0
  8. data/lib/ansible/ruby/dsl_builders/result.rb +33 -0
  9. data/lib/ansible/ruby/dsl_builders/task.rb +94 -0
  10. data/lib/ansible/ruby/dsl_builders/tasks.rb +28 -0
  11. data/lib/ansible/ruby/models/base.rb +83 -0
  12. data/lib/ansible/ruby/models/multiple_types.rb +15 -0
  13. data/lib/ansible/ruby/models/play.rb +56 -0
  14. data/lib/ansible/ruby/models/playbook.rb +17 -0
  15. data/lib/ansible/ruby/models/task.rb +51 -0
  16. data/lib/ansible/ruby/models/tasks.rb +18 -0
  17. data/lib/ansible/ruby/models/type_generic.rb +34 -0
  18. data/lib/ansible/ruby/models/type_validator.rb +34 -0
  19. data/lib/ansible/ruby/modules/base.rb +15 -0
  20. data/lib/ansible/ruby/modules/custom/commands/command.rb +16 -0
  21. data/lib/ansible/ruby/modules/custom/commands/raw.rb +15 -0
  22. data/lib/ansible/ruby/modules/custom/commands/script.rb +15 -0
  23. data/lib/ansible/ruby/modules/custom/commands/shell.rb +15 -0
  24. data/lib/ansible/ruby/modules/custom/free_form.rb +33 -0
  25. data/lib/ansible/ruby/modules/generated.rb +575 -0
  26. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/cloudformation.rb +52 -0
  27. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2.rb +140 -0
  28. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_ami.rb +58 -0
  29. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_ami_find.rb +72 -0
  30. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_ami_search.rb +39 -0
  31. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_asg.rb +91 -0
  32. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_eip.rb +34 -0
  33. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_elb.rb +38 -0
  34. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_elb_lb.rb +102 -0
  35. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_facts.rb +15 -0
  36. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_group.rb +43 -0
  37. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_key.rb +31 -0
  38. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_lc.rb +71 -0
  39. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_metric_alarm.rb +69 -0
  40. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_scaling_policy.rb +39 -0
  41. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_snapshot.rb +51 -0
  42. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_tag.rb +23 -0
  43. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_vol.rb +63 -0
  44. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_vpc.rb +55 -0
  45. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/ec2_vpc_net.rb +46 -0
  46. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/elasticache.rb +64 -0
  47. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/elasticache_subnet_group.rb +27 -0
  48. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/iam.rb +55 -0
  49. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/iam_cert.rb +51 -0
  50. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/iam_policy.rb +38 -0
  51. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/rds.rb +143 -0
  52. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/rds_param_group.rb +34 -0
  53. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/rds_subnet_group.rb +27 -0
  54. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/route53.rb +91 -0
  55. data/lib/ansible/ruby/modules/generated/core/cloud/amazon/s3.rb +88 -0
  56. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure.rb +86 -0
  57. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_networkinterface.rb +65 -0
  58. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_networkinterface_facts.rb +23 -0
  59. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_publicipaddress.rb +34 -0
  60. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_publicipaddress_facts.rb +22 -0
  61. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_resourcegroup.rb +27 -0
  62. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_resourcegroup_facts.rb +19 -0
  63. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_securitygroup.rb +42 -0
  64. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_securitygroup_facts.rb +22 -0
  65. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_storageaccount.rb +38 -0
  66. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_storageaccount_facts.rb +23 -0
  67. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_storageblob.rb +66 -0
  68. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_subnet.rb +34 -0
  69. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_virtualmachine.rb +103 -0
  70. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_virtualmachineimage_facts.rb +34 -0
  71. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_virtualnetwork.rb +43 -0
  72. data/lib/ansible/ruby/modules/generated/core/cloud/azure/azure_rm_virtualnetwork_facts.rb +23 -0
  73. data/lib/ansible/ruby/modules/generated/core/cloud/digital_ocean/digital_ocean.rb +78 -0
  74. data/lib/ansible/ruby/modules/generated/core/cloud/digital_ocean/digital_ocean_domain.rb +29 -0
  75. data/lib/ansible/ruby/modules/generated/core/cloud/digital_ocean/digital_ocean_sshkey.rb +34 -0
  76. data/lib/ansible/ruby/modules/generated/core/cloud/docker/docker.rb +216 -0
  77. data/lib/ansible/ruby/modules/generated/core/cloud/docker/docker_container.rb +242 -0
  78. data/lib/ansible/ruby/modules/generated/core/cloud/docker/docker_image.rb +65 -0
  79. data/lib/ansible/ruby/modules/generated/core/cloud/docker/docker_image_facts.rb +15 -0
  80. data/lib/ansible/ruby/modules/generated/core/cloud/docker/docker_login.rb +35 -0
  81. data/lib/ansible/ruby/modules/generated/core/cloud/docker/docker_service.rb +68 -0
  82. data/lib/ansible/ruby/modules/generated/core/cloud/google/gc_storage.rb +54 -0
  83. data/lib/ansible/ruby/modules/generated/core/cloud/google/gce.rb +88 -0
  84. data/lib/ansible/ruby/modules/generated/core/cloud/google/gce_lb.rb +80 -0
  85. data/lib/ansible/ruby/modules/generated/core/cloud/google/gce_net.rb +53 -0
  86. data/lib/ansible/ruby/modules/generated/core/cloud/google/gce_pd.rb +61 -0
  87. data/lib/ansible/ruby/modules/generated/core/cloud/linode/linode.rb +63 -0
  88. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/glance_image.rb +74 -0
  89. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/keystone_user.rb +56 -0
  90. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/nova_compute.rb +106 -0
  91. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/nova_keypair.rb +42 -0
  92. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_auth.rb +13 -0
  93. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_client_config.rb +14 -0
  94. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_floating_ip.rb +47 -0
  95. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_image.rb +55 -0
  96. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_image_facts.rb +15 -0
  97. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_ironic.rb +49 -0
  98. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_ironic_node.rb +49 -0
  99. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_keypair.rb +26 -0
  100. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_network.rb +44 -0
  101. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_networks_facts.rb +19 -0
  102. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_nova_flavor.rb +51 -0
  103. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_object.rb +31 -0
  104. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_port.rb +53 -0
  105. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_router.rb +39 -0
  106. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_security_group.rb +23 -0
  107. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_security_group_rule.rb +46 -0
  108. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_server.rb +100 -0
  109. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_server_actions.rb +27 -0
  110. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_server_facts.rb +19 -0
  111. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_server_volume.rb +26 -0
  112. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_subnet.rb +63 -0
  113. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_subnets_facts.rb +18 -0
  114. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_user.rb +39 -0
  115. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_user_group.rb +23 -0
  116. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/os_volume.rb +34 -0
  117. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/quantum_floating_ip.rb +46 -0
  118. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/quantum_floating_ip_associate.rb +42 -0
  119. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/quantum_network.rb +65 -0
  120. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/quantum_router.rb +45 -0
  121. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/quantum_router_gateway.rb +42 -0
  122. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/quantum_router_interface.rb +46 -0
  123. data/lib/ansible/ruby/modules/generated/core/cloud/openstack/quantum_subnet.rb +70 -0
  124. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax.rb +100 -0
  125. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_cbs.rb +47 -0
  126. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_cbs_attachments.rb +35 -0
  127. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_cdb.rb +43 -0
  128. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_cdb_database.rb +30 -0
  129. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_cdb_user.rb +31 -0
  130. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_clb.rb +53 -0
  131. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_clb_nodes.rb +50 -0
  132. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_dns.rb +29 -0
  133. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_dns_record.rb +50 -0
  134. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_facts.rb +21 -0
  135. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_files.rb +49 -0
  136. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_files_objects.rb +47 -0
  137. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_identity.rb +15 -0
  138. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_keypair.rb +22 -0
  139. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_meta.rb +24 -0
  140. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_network.rb +21 -0
  141. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_queue.rb +19 -0
  142. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_scaling_group.rb +77 -0
  143. data/lib/ansible/ruby/modules/generated/core/cloud/rackspace/rax_scaling_policy.rb +46 -0
  144. data/lib/ansible/ruby/modules/generated/core/cloud/vmware/vsphere_guest.rb +86 -0
  145. data/lib/ansible/ruby/modules/generated/core/commands/command.rb +33 -0
  146. data/lib/ansible/ruby/modules/generated/core/commands/raw.rb +19 -0
  147. data/lib/ansible/ruby/modules/generated/core/commands/script.rb +23 -0
  148. data/lib/ansible/ruby/modules/generated/core/commands/shell.rb +34 -0
  149. data/lib/ansible/ruby/modules/generated/core/database/mysql/mysql_db.rb +37 -0
  150. data/lib/ansible/ruby/modules/generated/core/database/mysql/mysql_user.rb +55 -0
  151. data/lib/ansible/ruby/modules/generated/core/database/mysql/mysql_variables.rb +19 -0
  152. data/lib/ansible/ruby/modules/generated/core/database/postgresql/postgresql_db.rb +55 -0
  153. data/lib/ansible/ruby/modules/generated/core/database/postgresql/postgresql_privs.rb +60 -0
  154. data/lib/ansible/ruby/modules/generated/core/database/postgresql/postgresql_user.rb +68 -0
  155. data/lib/ansible/ruby/modules/generated/core/files/acl.rb +47 -0
  156. data/lib/ansible/ruby/modules/generated/core/files/assemble.rb +42 -0
  157. data/lib/ansible/ruby/modules/generated/core/files/copy.rb +41 -0
  158. data/lib/ansible/ruby/modules/generated/core/files/fetch.rb +31 -0
  159. data/lib/ansible/ruby/modules/generated/core/files/file.rb +35 -0
  160. data/lib/ansible/ruby/modules/generated/core/files/find.rb +58 -0
  161. data/lib/ansible/ruby/modules/generated/core/files/ini_file.rb +42 -0
  162. data/lib/ansible/ruby/modules/generated/core/files/lineinfile.rb +50 -0
  163. data/lib/ansible/ruby/modules/generated/core/files/replace.rb +34 -0
  164. data/lib/ansible/ruby/modules/generated/core/files/stat.rb +35 -0
  165. data/lib/ansible/ruby/modules/generated/core/files/synchronize.rb +105 -0
  166. data/lib/ansible/ruby/modules/generated/core/files/template.rb +27 -0
  167. data/lib/ansible/ruby/modules/generated/core/files/unarchive.rb +40 -0
  168. data/lib/ansible/ruby/modules/generated/core/files/xattr.rb +31 -0
  169. data/lib/ansible/ruby/modules/generated/core/inventory/add_host.rb +19 -0
  170. data/lib/ansible/ruby/modules/generated/core/inventory/group_by.rb +15 -0
  171. data/lib/ansible/ruby/modules/generated/core/network/basics/get_url.rb +67 -0
  172. data/lib/ansible/ruby/modules/generated/core/network/basics/slurp.rb +15 -0
  173. data/lib/ansible/ruby/modules/generated/core/network/basics/uri.rb +77 -0
  174. data/lib/ansible/ruby/modules/generated/core/network/cumulus/cl_bond.rb +95 -0
  175. data/lib/ansible/ruby/modules/generated/core/network/cumulus/cl_bridge.rb +61 -0
  176. data/lib/ansible/ruby/modules/generated/core/network/cumulus/cl_img_install.rb +22 -0
  177. data/lib/ansible/ruby/modules/generated/core/network/cumulus/cl_interface.rb +70 -0
  178. data/lib/ansible/ruby/modules/generated/core/network/cumulus/cl_interface_policy.rb +19 -0
  179. data/lib/ansible/ruby/modules/generated/core/network/cumulus/cl_license.rb +17 -0
  180. data/lib/ansible/ruby/modules/generated/core/network/cumulus/cl_ports.rb +23 -0
  181. data/lib/ansible/ruby/modules/generated/core/network/eos/eos_command.rb +27 -0
  182. data/lib/ansible/ruby/modules/generated/core/network/eos/eos_config.rb +41 -0
  183. data/lib/ansible/ruby/modules/generated/core/network/eos/eos_eapi.rb +43 -0
  184. data/lib/ansible/ruby/modules/generated/core/network/eos/eos_template.rb +35 -0
  185. data/lib/ansible/ruby/modules/generated/core/network/ios/ios_command.rb +27 -0
  186. data/lib/ansible/ruby/modules/generated/core/network/ios/ios_config.rb +41 -0
  187. data/lib/ansible/ruby/modules/generated/core/network/ios/ios_template.rb +31 -0
  188. data/lib/ansible/ruby/modules/generated/core/network/iosxr/iosxr_command.rb +27 -0
  189. data/lib/ansible/ruby/modules/generated/core/network/iosxr/iosxr_config.rb +41 -0
  190. data/lib/ansible/ruby/modules/generated/core/network/iosxr/iosxr_template.rb +27 -0
  191. data/lib/ansible/ruby/modules/generated/core/network/junos/junos_command.rb +35 -0
  192. data/lib/ansible/ruby/modules/generated/core/network/junos/junos_config.rb +35 -0
  193. data/lib/ansible/ruby/modules/generated/core/network/junos/junos_facts.rb +19 -0
  194. data/lib/ansible/ruby/modules/generated/core/network/junos/junos_netconf.rb +19 -0
  195. data/lib/ansible/ruby/modules/generated/core/network/junos/junos_package.rb +30 -0
  196. data/lib/ansible/ruby/modules/generated/core/network/junos/junos_template.rb +35 -0
  197. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_command.rb +27 -0
  198. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_config.rb +41 -0
  199. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_facts.rb +13 -0
  200. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_feature.rb +19 -0
  201. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_interface.rb +31 -0
  202. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_ip_interface.rb +27 -0
  203. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_nxapi.rb +35 -0
  204. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_ping.rb +26 -0
  205. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_switchport.rb +35 -0
  206. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_template.rb +31 -0
  207. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_vlan.rb +35 -0
  208. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_vrf.rb +26 -0
  209. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_vrf_interface.rb +23 -0
  210. data/lib/ansible/ruby/modules/generated/core/network/nxos/nxos_vrrp.rb +35 -0
  211. data/lib/ansible/ruby/modules/generated/core/network/openswitch/ops_command.rb +27 -0
  212. data/lib/ansible/ruby/modules/generated/core/network/openswitch/ops_config.rb +39 -0
  213. data/lib/ansible/ruby/modules/generated/core/network/openswitch/ops_facts.rb +19 -0
  214. data/lib/ansible/ruby/modules/generated/core/network/openswitch/ops_template.rb +26 -0
  215. data/lib/ansible/ruby/modules/generated/core/packaging/language/easy_install.rb +34 -0
  216. data/lib/ansible/ruby/modules/generated/core/packaging/language/gem.rb +52 -0
  217. data/lib/ansible/ruby/modules/generated/core/packaging/language/pip.rb +61 -0
  218. data/lib/ansible/ruby/modules/generated/core/packaging/os/apt.rb +67 -0
  219. data/lib/ansible/ruby/modules/generated/core/packaging/os/apt_key.rb +43 -0
  220. data/lib/ansible/ruby/modules/generated/core/packaging/os/apt_repository.rb +34 -0
  221. data/lib/ansible/ruby/modules/generated/core/packaging/os/apt_rpm.rb +23 -0
  222. data/lib/ansible/ruby/modules/generated/core/packaging/os/package.rb +23 -0
  223. data/lib/ansible/ruby/modules/generated/core/packaging/os/redhat_subscription.rb +60 -0
  224. data/lib/ansible/ruby/modules/generated/core/packaging/os/rhn_channel.rb +35 -0
  225. data/lib/ansible/ruby/modules/generated/core/packaging/os/rhn_register.rb +44 -0
  226. data/lib/ansible/ruby/modules/generated/core/packaging/os/rpm_key.rb +23 -0
  227. data/lib/ansible/ruby/modules/generated/core/packaging/os/yum.rb +47 -0
  228. data/lib/ansible/ruby/modules/generated/core/source_control/git.rb +78 -0
  229. data/lib/ansible/ruby/modules/generated/core/source_control/hg.rb +38 -0
  230. data/lib/ansible/ruby/modules/generated/core/source_control/subversion.rb +44 -0
  231. data/lib/ansible/ruby/modules/generated/core/system/authorized_key.rb +43 -0
  232. data/lib/ansible/ruby/modules/generated/core/system/cron.rb +78 -0
  233. data/lib/ansible/ruby/modules/generated/core/system/group.rb +26 -0
  234. data/lib/ansible/ruby/modules/generated/core/system/hostname.rb +15 -0
  235. data/lib/ansible/ruby/modules/generated/core/system/mount.rb +43 -0
  236. data/lib/ansible/ruby/modules/generated/core/system/ping.rb +13 -0
  237. data/lib/ansible/ruby/modules/generated/core/system/seboolean.rb +23 -0
  238. data/lib/ansible/ruby/modules/generated/core/system/selinux.rb +23 -0
  239. data/lib/ansible/ruby/modules/generated/core/system/service.rb +37 -0
  240. data/lib/ansible/ruby/modules/generated/core/system/setup.rb +23 -0
  241. data/lib/ansible/ruby/modules/generated/core/system/sysctl.rb +39 -0
  242. data/lib/ansible/ruby/modules/generated/core/system/user.rb +113 -0
  243. data/lib/ansible/ruby/modules/generated/core/utilities/helper/accelerate.rb +31 -0
  244. data/lib/ansible/ruby/modules/generated/core/utilities/helper/fireball.rb +13 -0
  245. data/lib/ansible/ruby/modules/generated/core/utilities/logic/assert.rb +15 -0
  246. data/lib/ansible/ruby/modules/generated/core/utilities/logic/async_status.rb +19 -0
  247. data/lib/ansible/ruby/modules/generated/core/utilities/logic/debug.rb +23 -0
  248. data/lib/ansible/ruby/modules/generated/core/utilities/logic/fail.rb +15 -0
  249. data/lib/ansible/ruby/modules/generated/core/utilities/logic/pause.rb +22 -0
  250. data/lib/ansible/ruby/modules/generated/core/utilities/logic/set_fact.rb +15 -0
  251. data/lib/ansible/ruby/modules/generated/core/utilities/logic/wait_for.rb +47 -0
  252. data/lib/ansible/ruby/modules/generated/core/web_infrastructure/apache2_module.rb +23 -0
  253. data/lib/ansible/ruby/modules/generated/core/web_infrastructure/django_manage.rb +58 -0
  254. data/lib/ansible/ruby/modules/generated/core/web_infrastructure/htpasswd.rb +35 -0
  255. data/lib/ansible/ruby/modules/generated/core/web_infrastructure/supervisorctl.rb +38 -0
  256. data/lib/ansible/ruby/modules/generated/core/windows/win_copy.rb +19 -0
  257. data/lib/ansible/ruby/modules/generated/core/windows/win_feature.rb +35 -0
  258. data/lib/ansible/ruby/modules/generated/core/windows/win_file.rb +19 -0
  259. data/lib/ansible/ruby/modules/generated/core/windows/win_get_url.rb +45 -0
  260. data/lib/ansible/ruby/modules/generated/core/windows/win_group.rb +22 -0
  261. data/lib/ansible/ruby/modules/generated/core/windows/win_lineinfile.rb +58 -0
  262. data/lib/ansible/ruby/modules/generated/core/windows/win_msi.rb +29 -0
  263. data/lib/ansible/ruby/modules/generated/core/windows/win_ping.rb +15 -0
  264. data/lib/ansible/ruby/modules/generated/core/windows/win_reboot.rb +31 -0
  265. data/lib/ansible/ruby/modules/generated/core/windows/win_service.rb +23 -0
  266. data/lib/ansible/ruby/modules/generated/core/windows/win_stat.rb +23 -0
  267. data/lib/ansible/ruby/modules/generated/core/windows/win_template.rb +19 -0
  268. data/lib/ansible/ruby/modules/generated/core/windows/win_user.rb +59 -0
  269. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/cloudtrail.rb +40 -0
  270. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/dynamodb_table.rb +46 -0
  271. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_ami_copy.rb +39 -0
  272. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_elb_facts.rb +15 -0
  273. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_eni.rb +53 -0
  274. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_eni_facts.rb +15 -0
  275. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_remote_facts.rb +15 -0
  276. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_snapshot_facts.rb +23 -0
  277. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_vol_facts.rb +15 -0
  278. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_vpc_dhcp_options.rb +55 -0
  279. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_vpc_igw.rb +19 -0
  280. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_vpc_net_facts.rb +15 -0
  281. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_vpc_route_table.rb +41 -0
  282. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_vpc_route_table_facts.rb +15 -0
  283. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_vpc_subnet.rb +29 -0
  284. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_vpc_subnet_facts.rb +15 -0
  285. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ec2_win_password.rb +30 -0
  286. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ecs_cluster.rb +27 -0
  287. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ecs_service.rb +48 -0
  288. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ecs_service_facts.rb +23 -0
  289. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ecs_task.rb +42 -0
  290. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/ecs_taskdefinition.rb +33 -0
  291. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/route53_facts.rb +58 -0
  292. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/route53_health_check.rb +45 -0
  293. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/route53_zone.rb +31 -0
  294. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/s3_bucket.rb +42 -0
  295. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/s3_lifecycle.rb +50 -0
  296. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/s3_logging.rb +27 -0
  297. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/sns_topic.rb +37 -0
  298. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/sqs_queue.rb +43 -0
  299. data/lib/ansible/ruby/modules/generated/extras/cloud/amazon/sts_assume_role.rb +34 -0
  300. data/lib/ansible/ruby/modules/generated/extras/cloud/azure/azure_rm_deployment.rb +53 -0
  301. data/lib/ansible/ruby/modules/generated/extras/cloud/centurylink/clc_aa_policy.rb +27 -0
  302. data/lib/ansible/ruby/modules/generated/extras/cloud/centurylink/clc_alert_policy.rb +39 -0
  303. data/lib/ansible/ruby/modules/generated/extras/cloud/centurylink/clc_blueprint_package.rb +30 -0
  304. data/lib/ansible/ruby/modules/generated/extras/cloud/centurylink/clc_firewall_policy.rb +47 -0
  305. data/lib/ansible/ruby/modules/generated/extras/cloud/centurylink/clc_group.rb +32 -0
  306. data/lib/ansible/ruby/modules/generated/extras/cloud/centurylink/clc_loadbalancer.rb +49 -0
  307. data/lib/ansible/ruby/modules/generated/extras/cloud/centurylink/clc_modify_server.rb +45 -0
  308. data/lib/ansible/ruby/modules/generated/extras/cloud/centurylink/clc_publicip.rb +30 -0
  309. data/lib/ansible/ruby/modules/generated/extras/cloud/centurylink/clc_server.rb +138 -0
  310. data/lib/ansible/ruby/modules/generated/extras/cloud/centurylink/clc_server_snapshot.rb +27 -0
  311. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_account.rb +52 -0
  312. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_affinitygroup.rb +39 -0
  313. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_cluster.rb +75 -0
  314. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_configuration.rb +38 -0
  315. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_domain.rb +30 -0
  316. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_facts.rb +15 -0
  317. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_firewall.rb +65 -0
  318. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_instance.rb +123 -0
  319. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_instance_facts.rb +24 -0
  320. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_instancegroup.rb +28 -0
  321. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_ip_address.rb +35 -0
  322. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_iso.rb +67 -0
  323. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_loadbalancer_rule.rb +60 -0
  324. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_loadbalancer_rule_member.rb +38 -0
  325. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_network.rb +89 -0
  326. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_pod.rb +41 -0
  327. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_portforward.rb +65 -0
  328. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_project.rb +33 -0
  329. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_resourcelimit.rb +28 -0
  330. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_securitygroup.rb +32 -0
  331. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_securitygroup_rule.rb +58 -0
  332. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_sshkeypair.rb +32 -0
  333. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_staticnat.rb +43 -0
  334. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_template.rb +125 -0
  335. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_user.rb +45 -0
  336. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_vmsnapshot.rb +46 -0
  337. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_volume.rb +73 -0
  338. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_zone.rb +58 -0
  339. data/lib/ansible/ruby/modules/generated/extras/cloud/cloudstack/cs_zone_facts.rb +15 -0
  340. data/lib/ansible/ruby/modules/generated/extras/cloud/google/gce_img.rb +43 -0
  341. data/lib/ansible/ruby/modules/generated/extras/cloud/google/gce_tag.rb +36 -0
  342. data/lib/ansible/ruby/modules/generated/extras/cloud/lxc/lxc_container.rb +98 -0
  343. data/lib/ansible/ruby/modules/generated/extras/cloud/misc/ovirt.rb +104 -0
  344. data/lib/ansible/ruby/modules/generated/extras/cloud/misc/proxmox.rb +100 -0
  345. data/lib/ansible/ruby/modules/generated/extras/cloud/misc/proxmox_template.rb +59 -0
  346. data/lib/ansible/ruby/modules/generated/extras/cloud/misc/virt.rb +31 -0
  347. data/lib/ansible/ruby/modules/generated/extras/cloud/misc/virt_net.rb +35 -0
  348. data/lib/ansible/ruby/modules/generated/extras/cloud/misc/virt_pool.rb +39 -0
  349. data/lib/ansible/ruby/modules/generated/extras/cloud/openstack/os_flavor_facts.rb +27 -0
  350. data/lib/ansible/ruby/modules/generated/extras/cloud/openstack/os_group.rb +23 -0
  351. data/lib/ansible/ruby/modules/generated/extras/cloud/openstack/os_ironic_inspect.rb +28 -0
  352. data/lib/ansible/ruby/modules/generated/extras/cloud/openstack/os_keystone_domain.rb +27 -0
  353. data/lib/ansible/ruby/modules/generated/extras/cloud/openstack/os_keystone_domain_facts.rb +19 -0
  354. data/lib/ansible/ruby/modules/generated/extras/cloud/openstack/os_keystone_role.rb +19 -0
  355. data/lib/ansible/ruby/modules/generated/extras/cloud/openstack/os_port_facts.rb +19 -0
  356. data/lib/ansible/ruby/modules/generated/extras/cloud/openstack/os_project.rb +31 -0
  357. data/lib/ansible/ruby/modules/generated/extras/cloud/openstack/os_project_facts.rb +23 -0
  358. data/lib/ansible/ruby/modules/generated/extras/cloud/openstack/os_user_facts.rb +23 -0
  359. data/lib/ansible/ruby/modules/generated/extras/cloud/openstack/os_user_role.rb +34 -0
  360. data/lib/ansible/ruby/modules/generated/extras/cloud/profitbricks/profitbricks.rb +85 -0
  361. data/lib/ansible/ruby/modules/generated/extras/cloud/profitbricks/profitbricks_datacenter.rb +40 -0
  362. data/lib/ansible/ruby/modules/generated/extras/cloud/profitbricks/profitbricks_nic.rb +45 -0
  363. data/lib/ansible/ruby/modules/generated/extras/cloud/profitbricks/profitbricks_volume.rb +69 -0
  364. data/lib/ansible/ruby/modules/generated/extras/cloud/profitbricks/profitbricks_volume_attachments.rb +41 -0
  365. data/lib/ansible/ruby/modules/generated/extras/cloud/rackspace/rax_clb_ssl.rb +54 -0
  366. data/lib/ansible/ruby/modules/generated/extras/cloud/rackspace/rax_mon_alarm.rb +41 -0
  367. data/lib/ansible/ruby/modules/generated/extras/cloud/rackspace/rax_mon_check.rb +52 -0
  368. data/lib/ansible/ruby/modules/generated/extras/cloud/rackspace/rax_mon_entity.rb +28 -0
  369. data/lib/ansible/ruby/modules/generated/extras/cloud/rackspace/rax_mon_notification.rb +27 -0
  370. data/lib/ansible/ruby/modules/generated/extras/cloud/rackspace/rax_mon_notification_plan.rb +28 -0
  371. data/lib/ansible/ruby/modules/generated/extras/cloud/softlayer/sl_vm.rb +88 -0
  372. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vca_fw.rb +15 -0
  373. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vca_nat.rb +19 -0
  374. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vca_vapp.rb +73 -0
  375. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_cluster.rb +31 -0
  376. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_datacenter.rb +31 -0
  377. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_dns_config.rb +23 -0
  378. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_dvs_host.rb +27 -0
  379. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_dvs_portgroup.rb +31 -0
  380. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_dvswitch.rb +39 -0
  381. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_host.rb +35 -0
  382. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_maintenancemode.rb +31 -0
  383. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_migrate_vmk.rb +35 -0
  384. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_portgroup.rb +23 -0
  385. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_target_canonical_facts.rb +15 -0
  386. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_vm_facts.rb +13 -0
  387. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_vm_shell.rb +50 -0
  388. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_vm_vss_dvs_migrate.rb +19 -0
  389. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_vmkernel.rb +47 -0
  390. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_vmkernel_ip_config.rb +23 -0
  391. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_vsan_cluster.rb +14 -0
  392. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vmware_vswitch.rb +31 -0
  393. data/lib/ansible/ruby/modules/generated/extras/cloud/vmware/vsphere_copy.rb +43 -0
  394. data/lib/ansible/ruby/modules/generated/extras/cloud/webfaction/webfaction_app.rb +46 -0
  395. data/lib/ansible/ruby/modules/generated/extras/cloud/webfaction/webfaction_db.rb +39 -0
  396. data/lib/ansible/ruby/modules/generated/extras/cloud/webfaction/webfaction_domain.rb +31 -0
  397. data/lib/ansible/ruby/modules/generated/extras/cloud/webfaction/webfaction_mailbox.rb +31 -0
  398. data/lib/ansible/ruby/modules/generated/extras/cloud/webfaction/webfaction_site.rb +43 -0
  399. data/lib/ansible/ruby/modules/generated/extras/cloud/xenserver_facts.rb +13 -0
  400. data/lib/ansible/ruby/modules/generated/extras/clustering/consul.rb +83 -0
  401. data/lib/ansible/ruby/modules/generated/extras/clustering/consul_acl.rb +51 -0
  402. data/lib/ansible/ruby/modules/generated/extras/clustering/consul_kv.rb +56 -0
  403. data/lib/ansible/ruby/modules/generated/extras/clustering/consul_session.rb +49 -0
  404. data/lib/ansible/ruby/modules/generated/extras/clustering/kubernetes.rb +46 -0
  405. data/lib/ansible/ruby/modules/generated/extras/clustering/znode.rb +39 -0
  406. data/lib/ansible/ruby/modules/generated/extras/commands/expect.rb +36 -0
  407. data/lib/ansible/ruby/modules/generated/extras/database/influxdb/influxdb_database.rb +35 -0
  408. data/lib/ansible/ruby/modules/generated/extras/database/influxdb/influxdb_retention_policy.rb +47 -0
  409. data/lib/ansible/ruby/modules/generated/extras/database/misc/mongodb_parameter.rb +51 -0
  410. data/lib/ansible/ruby/modules/generated/extras/database/misc/mongodb_user.rb +62 -0
  411. data/lib/ansible/ruby/modules/generated/extras/database/misc/redis.rb +54 -0
  412. data/lib/ansible/ruby/modules/generated/extras/database/misc/riak.rb +42 -0
  413. data/lib/ansible/ruby/modules/generated/extras/database/mysql/mysql_replication.rb +67 -0
  414. data/lib/ansible/ruby/modules/generated/extras/database/postgresql/postgresql_ext.rb +37 -0
  415. data/lib/ansible/ruby/modules/generated/extras/database/postgresql/postgresql_lang.rb +54 -0
  416. data/lib/ansible/ruby/modules/generated/extras/database/vertica/vertica_configuration.rb +37 -0
  417. data/lib/ansible/ruby/modules/generated/extras/database/vertica/vertica_facts.rb +30 -0
  418. data/lib/ansible/ruby/modules/generated/extras/database/vertica/vertica_role.rb +41 -0
  419. data/lib/ansible/ruby/modules/generated/extras/database/vertica/vertica_schema.rb +50 -0
  420. data/lib/ansible/ruby/modules/generated/extras/database/vertica/vertica_user.rb +59 -0
  421. data/lib/ansible/ruby/modules/generated/extras/files/blockinfile.rb +47 -0
  422. data/lib/ansible/ruby/modules/generated/extras/files/patch.rb +39 -0
  423. data/lib/ansible/ruby/modules/generated/extras/messaging/rabbitmq_binding.rb +54 -0
  424. data/lib/ansible/ruby/modules/generated/extras/messaging/rabbitmq_exchange.rb +58 -0
  425. data/lib/ansible/ruby/modules/generated/extras/messaging/rabbitmq_parameter.rb +35 -0
  426. data/lib/ansible/ruby/modules/generated/extras/messaging/rabbitmq_plugin.rb +26 -0
  427. data/lib/ansible/ruby/modules/generated/extras/messaging/rabbitmq_policy.rb +43 -0
  428. data/lib/ansible/ruby/modules/generated/extras/messaging/rabbitmq_queue.rb +68 -0
  429. data/lib/ansible/ruby/modules/generated/extras/messaging/rabbitmq_user.rb +53 -0
  430. data/lib/ansible/ruby/modules/generated/extras/messaging/rabbitmq_vhost.rb +27 -0
  431. data/lib/ansible/ruby/modules/generated/extras/monitoring/airbrake_deployment.rb +38 -0
  432. data/lib/ansible/ruby/modules/generated/extras/monitoring/bigpanda.rb +48 -0
  433. data/lib/ansible/ruby/modules/generated/extras/monitoring/boundary_meter.rb +31 -0
  434. data/lib/ansible/ruby/modules/generated/extras/monitoring/circonus_annotation.rb +37 -0
  435. data/lib/ansible/ruby/modules/generated/extras/monitoring/datadog_event.rb +45 -0
  436. data/lib/ansible/ruby/modules/generated/extras/monitoring/datadog_monitor.rb +66 -0
  437. data/lib/ansible/ruby/modules/generated/extras/monitoring/librato_annotation.rb +47 -0
  438. data/lib/ansible/ruby/modules/generated/extras/monitoring/logentries.rb +26 -0
  439. data/lib/ansible/ruby/modules/generated/extras/monitoring/monit.rb +23 -0
  440. data/lib/ansible/ruby/modules/generated/extras/monitoring/nagios.rb +47 -0
  441. data/lib/ansible/ruby/modules/generated/extras/monitoring/newrelic_deployment.rb +46 -0
  442. data/lib/ansible/ruby/modules/generated/extras/monitoring/pagerduty.rb +55 -0
  443. data/lib/ansible/ruby/modules/generated/extras/monitoring/pagerduty_alert.rb +43 -0
  444. data/lib/ansible/ruby/modules/generated/extras/monitoring/pingdom.rb +31 -0
  445. data/lib/ansible/ruby/modules/generated/extras/monitoring/rollbar_deployment.rb +43 -0
  446. data/lib/ansible/ruby/modules/generated/extras/monitoring/sensu_check.rb +93 -0
  447. data/lib/ansible/ruby/modules/generated/extras/monitoring/stackdriver.rb +54 -0
  448. data/lib/ansible/ruby/modules/generated/extras/monitoring/uptimerobot.rb +23 -0
  449. data/lib/ansible/ruby/modules/generated/extras/monitoring/zabbix_group.rb +41 -0
  450. data/lib/ansible/ruby/modules/generated/extras/monitoring/zabbix_host.rb +68 -0
  451. data/lib/ansible/ruby/modules/generated/extras/monitoring/zabbix_hostmacro.rb +49 -0
  452. data/lib/ansible/ruby/modules/generated/extras/monitoring/zabbix_maintenance.rb +61 -0
  453. data/lib/ansible/ruby/modules/generated/extras/monitoring/zabbix_screen.rb +37 -0
  454. data/lib/ansible/ruby/modules/generated/extras/network/a10/a10_server.rb +43 -0
  455. data/lib/ansible/ruby/modules/generated/extras/network/a10/a10_service_group.rb +47 -0
  456. data/lib/ansible/ruby/modules/generated/extras/network/a10/a10_virtual_server.rb +47 -0
  457. data/lib/ansible/ruby/modules/generated/extras/network/citrix/netscaler.rb +43 -0
  458. data/lib/ansible/ruby/modules/generated/extras/network/cloudflare_dns.rb +71 -0
  459. data/lib/ansible/ruby/modules/generated/extras/network/dnsimple.rb +53 -0
  460. data/lib/ansible/ruby/modules/generated/extras/network/dnsmadeeasy.rb +47 -0
  461. data/lib/ansible/ruby/modules/generated/extras/network/f5/bigip_facts.rb +38 -0
  462. data/lib/ansible/ruby/modules/generated/extras/network/f5/bigip_gtm_wide_ip.rb +31 -0
  463. data/lib/ansible/ruby/modules/generated/extras/network/f5/bigip_monitor_http.rb +79 -0
  464. data/lib/ansible/ruby/modules/generated/extras/network/f5/bigip_monitor_tcp.rb +79 -0
  465. data/lib/ansible/ruby/modules/generated/extras/network/f5/bigip_node.rb +54 -0
  466. data/lib/ansible/ruby/modules/generated/extras/network/f5/bigip_pool.rb +66 -0
  467. data/lib/ansible/ruby/modules/generated/extras/network/f5/bigip_pool_member.rb +71 -0
  468. data/lib/ansible/ruby/modules/generated/extras/network/f5/bigip_virtual_server.rb +66 -0
  469. data/lib/ansible/ruby/modules/generated/extras/network/haproxy.rb +47 -0
  470. data/lib/ansible/ruby/modules/generated/extras/network/ipify_facts.rb +15 -0
  471. data/lib/ansible/ruby/modules/generated/extras/network/lldp.rb +13 -0
  472. data/lib/ansible/ruby/modules/generated/extras/network/nmcli.rb +132 -0
  473. data/lib/ansible/ruby/modules/generated/extras/network/openvswitch_bridge.rb +31 -0
  474. data/lib/ansible/ruby/modules/generated/extras/network/openvswitch_db.rb +35 -0
  475. data/lib/ansible/ruby/modules/generated/extras/network/openvswitch_port.rb +34 -0
  476. data/lib/ansible/ruby/modules/generated/extras/network/snmp_facts.rb +47 -0
  477. data/lib/ansible/ruby/modules/generated/extras/notification/campfire.rb +31 -0
  478. data/lib/ansible/ruby/modules/generated/extras/notification/flowdock.rb +59 -0
  479. data/lib/ansible/ruby/modules/generated/extras/notification/grove.rb +33 -0
  480. data/lib/ansible/ruby/modules/generated/extras/notification/hall.rb +26 -0
  481. data/lib/ansible/ruby/modules/generated/extras/notification/hipchat.rb +47 -0
  482. data/lib/ansible/ruby/modules/generated/extras/notification/irc.rb +64 -0
  483. data/lib/ansible/ruby/modules/generated/extras/notification/jabber.rb +38 -0
  484. data/lib/ansible/ruby/modules/generated/extras/notification/mail.rb +66 -0
  485. data/lib/ansible/ruby/modules/generated/extras/notification/mqtt.rb +45 -0
  486. data/lib/ansible/ruby/modules/generated/extras/notification/nexmo.rb +35 -0
  487. data/lib/ansible/ruby/modules/generated/extras/notification/osx_say.rb +19 -0
  488. data/lib/ansible/ruby/modules/generated/extras/notification/pushbullet.rb +35 -0
  489. data/lib/ansible/ruby/modules/generated/extras/notification/pushover.rb +26 -0
  490. data/lib/ansible/ruby/modules/generated/extras/notification/sendgrid.rb +31 -0
  491. data/lib/ansible/ruby/modules/generated/extras/notification/slack.rb +58 -0
  492. data/lib/ansible/ruby/modules/generated/extras/notification/sns.rb +48 -0
  493. data/lib/ansible/ruby/modules/generated/extras/notification/twilio.rb +35 -0
  494. data/lib/ansible/ruby/modules/generated/extras/notification/typetalk.rb +27 -0
  495. data/lib/ansible/ruby/modules/generated/extras/packaging/dpkg_selections.rb +19 -0
  496. data/lib/ansible/ruby/modules/generated/extras/packaging/elasticsearch_plugin.rb +44 -0
  497. data/lib/ansible/ruby/modules/generated/extras/packaging/language/bower.rb +39 -0
  498. data/lib/ansible/ruby/modules/generated/extras/packaging/language/bundler.rb +57 -0
  499. data/lib/ansible/ruby/modules/generated/extras/packaging/language/composer.rb +51 -0
  500. data/lib/ansible/ruby/modules/generated/extras/packaging/language/cpanm.rb +50 -0
  501. data/lib/ansible/ruby/modules/generated/extras/packaging/language/maven_artifact.rb +54 -0
  502. data/lib/ansible/ruby/modules/generated/extras/packaging/language/npm.rb +47 -0
  503. data/lib/ansible/ruby/modules/generated/extras/packaging/language/pear.rb +19 -0
  504. data/lib/ansible/ruby/modules/generated/extras/packaging/os/apk.rb +27 -0
  505. data/lib/ansible/ruby/modules/generated/extras/packaging/os/dnf.rb +36 -0
  506. data/lib/ansible/ruby/modules/generated/extras/packaging/os/homebrew.rb +35 -0
  507. data/lib/ansible/ruby/modules/generated/extras/packaging/os/homebrew_cask.rb +19 -0
  508. data/lib/ansible/ruby/modules/generated/extras/packaging/os/homebrew_tap.rb +19 -0
  509. data/lib/ansible/ruby/modules/generated/extras/packaging/os/layman.rb +27 -0
  510. data/lib/ansible/ruby/modules/generated/extras/packaging/os/macports.rb +23 -0
  511. data/lib/ansible/ruby/modules/generated/extras/packaging/os/openbsd_pkg.rb +27 -0
  512. data/lib/ansible/ruby/modules/generated/extras/packaging/os/opkg.rb +27 -0
  513. data/lib/ansible/ruby/modules/generated/extras/packaging/os/pacman.rb +35 -0
  514. data/lib/ansible/ruby/modules/generated/extras/packaging/os/pkg5.rb +23 -0
  515. data/lib/ansible/ruby/modules/generated/extras/packaging/os/pkg5_publisher.rb +34 -0
  516. data/lib/ansible/ruby/modules/generated/extras/packaging/os/pkgin.rb +39 -0
  517. data/lib/ansible/ruby/modules/generated/extras/packaging/os/pkgng.rb +36 -0
  518. data/lib/ansible/ruby/modules/generated/extras/packaging/os/pkgutil.rb +26 -0
  519. data/lib/ansible/ruby/modules/generated/extras/packaging/os/portage.rb +75 -0
  520. data/lib/ansible/ruby/modules/generated/extras/packaging/os/portinstall.rb +23 -0
  521. data/lib/ansible/ruby/modules/generated/extras/packaging/os/slackpkg.rb +23 -0
  522. data/lib/ansible/ruby/modules/generated/extras/packaging/os/svr4pkg.rb +38 -0
  523. data/lib/ansible/ruby/modules/generated/extras/packaging/os/swdepot.rb +23 -0
  524. data/lib/ansible/ruby/modules/generated/extras/packaging/os/urpmi.rb +31 -0
  525. data/lib/ansible/ruby/modules/generated/extras/packaging/os/yum_repository.rb +193 -0
  526. data/lib/ansible/ruby/modules/generated/extras/packaging/os/zypper.rb +31 -0
  527. data/lib/ansible/ruby/modules/generated/extras/packaging/os/zypper_repository.rb +42 -0
  528. data/lib/ansible/ruby/modules/generated/extras/source_control/bzr.rb +30 -0
  529. data/lib/ansible/ruby/modules/generated/extras/source_control/git_config.rb +31 -0
  530. data/lib/ansible/ruby/modules/generated/extras/source_control/github_hooks.rb +39 -0
  531. data/lib/ansible/ruby/modules/generated/extras/source_control/gitlab_group.rb +43 -0
  532. data/lib/ansible/ruby/modules/generated/extras/source_control/gitlab_project.rb +77 -0
  533. data/lib/ansible/ruby/modules/generated/extras/source_control/gitlab_user.rb +65 -0
  534. data/lib/ansible/ruby/modules/generated/extras/system/alternatives.rb +23 -0
  535. data/lib/ansible/ruby/modules/generated/extras/system/at.rb +34 -0
  536. data/lib/ansible/ruby/modules/generated/extras/system/capabilities.rb +23 -0
  537. data/lib/ansible/ruby/modules/generated/extras/system/cronvar.rb +41 -0
  538. data/lib/ansible/ruby/modules/generated/extras/system/crypttab.rb +34 -0
  539. data/lib/ansible/ruby/modules/generated/extras/system/debconf.rb +29 -0
  540. data/lib/ansible/ruby/modules/generated/extras/system/facter.rb +13 -0
  541. data/lib/ansible/ruby/modules/generated/extras/system/filesystem.rb +31 -0
  542. data/lib/ansible/ruby/modules/generated/extras/system/firewalld.rb +55 -0
  543. data/lib/ansible/ruby/modules/generated/extras/system/getent.rb +27 -0
  544. data/lib/ansible/ruby/modules/generated/extras/system/gluster_volume.rb +63 -0
  545. data/lib/ansible/ruby/modules/generated/extras/system/iptables.rb +102 -0
  546. data/lib/ansible/ruby/modules/generated/extras/system/kernel_blacklist.rb +22 -0
  547. data/lib/ansible/ruby/modules/generated/extras/system/known_hosts.rb +27 -0
  548. data/lib/ansible/ruby/modules/generated/extras/system/locale_gen.rb +19 -0
  549. data/lib/ansible/ruby/modules/generated/extras/system/lvg.rb +34 -0
  550. data/lib/ansible/ruby/modules/generated/extras/system/lvol.rb +39 -0
  551. data/lib/ansible/ruby/modules/generated/extras/system/make.rb +23 -0
  552. data/lib/ansible/ruby/modules/generated/extras/system/modprobe.rb +23 -0
  553. data/lib/ansible/ruby/modules/generated/extras/system/ohai.rb +13 -0
  554. data/lib/ansible/ruby/modules/generated/extras/system/open_iscsi.rb +49 -0
  555. data/lib/ansible/ruby/modules/generated/extras/system/osx_defaults.rb +39 -0
  556. data/lib/ansible/ruby/modules/generated/extras/system/pam_limits.rb +47 -0
  557. data/lib/ansible/ruby/modules/generated/extras/system/puppet.rb +48 -0
  558. data/lib/ansible/ruby/modules/generated/extras/system/selinux_permissive.rb +26 -0
  559. data/lib/ansible/ruby/modules/generated/extras/system/seport.rb +31 -0
  560. data/lib/ansible/ruby/modules/generated/extras/system/solaris_zone.rb +49 -0
  561. data/lib/ansible/ruby/modules/generated/extras/system/svc.rb +34 -0
  562. data/lib/ansible/ruby/modules/generated/extras/system/ufw.rb +70 -0
  563. data/lib/ansible/ruby/modules/generated/extras/system/zfs.rb +26 -0
  564. data/lib/ansible/ruby/modules/generated/extras/web_infrastructure/deploy_helper.rb +47 -0
  565. data/lib/ansible/ruby/modules/generated/extras/web_infrastructure/ejabberd_user.rb +31 -0
  566. data/lib/ansible/ruby/modules/generated/extras/web_infrastructure/jboss.rb +27 -0
  567. data/lib/ansible/ruby/modules/generated/extras/web_infrastructure/jira.rb +63 -0
  568. data/lib/ansible/ruby/modules/generated/extras/web_infrastructure/taiga_issue.rb +58 -0
  569. data/lib/ansible/ruby/modules/generated/extras/windows/win_acl.rb +39 -0
  570. data/lib/ansible/ruby/modules/generated/extras/windows/win_acl_inheritance.rb +23 -0
  571. data/lib/ansible/ruby/modules/generated/extras/windows/win_chocolatey.rb +43 -0
  572. data/lib/ansible/ruby/modules/generated/extras/windows/win_dotnet_ngen.rb +13 -0
  573. data/lib/ansible/ruby/modules/generated/extras/windows/win_environment.rb +27 -0
  574. data/lib/ansible/ruby/modules/generated/extras/windows/win_file_version.rb +15 -0
  575. data/lib/ansible/ruby/modules/generated/extras/windows/win_firewall_rule.rb +64 -0
  576. data/lib/ansible/ruby/modules/generated/extras/windows/win_iis_virtualdirectory.rb +29 -0
  577. data/lib/ansible/ruby/modules/generated/extras/windows/win_iis_webapplication.rb +29 -0
  578. data/lib/ansible/ruby/modules/generated/extras/windows/win_iis_webapppool.rb +23 -0
  579. data/lib/ansible/ruby/modules/generated/extras/windows/win_iis_webbinding.rb +41 -0
  580. data/lib/ansible/ruby/modules/generated/extras/windows/win_iis_website.rb +49 -0
  581. data/lib/ansible/ruby/modules/generated/extras/windows/win_nssm.rb +51 -0
  582. data/lib/ansible/ruby/modules/generated/extras/windows/win_owner.rb +23 -0
  583. data/lib/ansible/ruby/modules/generated/extras/windows/win_package.rb +36 -0
  584. data/lib/ansible/ruby/modules/generated/extras/windows/win_regedit.rb +30 -0
  585. data/lib/ansible/ruby/modules/generated/extras/windows/win_regmerge.rb +19 -0
  586. data/lib/ansible/ruby/modules/generated/extras/windows/win_scheduled_task.rb +49 -0
  587. data/lib/ansible/ruby/modules/generated/extras/windows/win_share.rb +47 -0
  588. data/lib/ansible/ruby/modules/generated/extras/windows/win_timezone.rb +15 -0
  589. data/lib/ansible/ruby/modules/generated/extras/windows/win_unzip.rb +31 -0
  590. data/lib/ansible/ruby/modules/generated/extras/windows/win_updates.rb +22 -0
  591. data/lib/ansible/ruby/modules/generated/extras/windows/win_uri.rb +32 -0
  592. data/lib/ansible/ruby/modules/generated/extras/windows/win_webpicmd.rb +15 -0
  593. data/lib/ansible/ruby/rake/task.rb +74 -0
  594. data/lib/ansible/ruby/serializer.rb +34 -0
  595. data/lib/ansible/ruby/version.rb +5 -0
  596. metadata +650 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6cf644b0026a9957bf3a48014ca6be7fbef7754f
4
+ data.tar.gz: 5d995328dab9f7ef92b4d19d62f865b6f7ea59ed
5
+ SHA512:
6
+ metadata.gz: e40e14ee5efc2456c80ad564317b4e9a4bb67a2df06c71a3d25b973e2e54dd5cfe77150afee914eef5d6462baeb1ead0c6b526c06d0d8c73a0f8fe8638ef9d49
7
+ data.tar.gz: 491ba9587200bc0a5d45cbe2738d413a99bfab91efa5339b7c10769e9c57ba58b12b5c9313bf714b86a224a635aae819d90f959fb2444cfe884e63672ed5d102
@@ -0,0 +1,7 @@
1
+ # rubocop:disable Style/FileName
2
+ # This is the name of the GEM, need it this way
3
+ require 'ansible/ruby/version'
4
+ require 'ansible/ruby/serializer'
5
+ require 'ansible/ruby/dsl_builders/file_level'
6
+ require 'ansible/ruby/modules/generated'
7
+ # rubocop:enable Style/FileName
@@ -0,0 +1,19 @@
1
+ require 'ansible/ruby/dsl_builders/base'
2
+
3
+ module Ansible
4
+ module Ruby
5
+ module DslBuilders
6
+ class Args < Base
7
+ def initialize
8
+ super
9
+ @result = {}
10
+ end
11
+
12
+ def process_method(id, *args)
13
+ value = args.length == 1 ? args[0] : args
14
+ @result[id] = value
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,54 @@
1
+ module Ansible
2
+ module Ruby
3
+ module DslBuilders
4
+ class Base
5
+ def initialize
6
+ @result = nil
7
+ end
8
+
9
+ attr_reader :result
10
+
11
+ def evaluate(*args, &block)
12
+ if block
13
+ instance_eval(&block)
14
+ else
15
+ raise 'Expected code as an argument if no block supplied!' unless args.length == 1
16
+ instance_eval args[0]
17
+ end
18
+ @result
19
+ end
20
+
21
+ def respond_to_missing?(*)
22
+ super
23
+ end
24
+
25
+ def method_missing(id, *args, &block)
26
+ result = begin
27
+ process_method id, *args, &block
28
+ rescue StandardError => our_error
29
+ begin
30
+ super
31
+ rescue NoMethodError => ruby_error
32
+ matching_line = ruby_error.backtrace
33
+ .map { |str| str.split ':' }
34
+ .find { |arr| arr[0] == '(eval)' }[1]
35
+ raise "#{our_error.message} at line #{matching_line}!"
36
+ end
37
+ end
38
+ method_missing_return id, result, *args
39
+ end
40
+
41
+ private
42
+
43
+ def method_missing_return(*)
44
+ # Don't leak return values
45
+ nil
46
+ end
47
+
48
+ def implicit_bool(args)
49
+ args.empty? || args[0]
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,52 @@
1
+ require 'ansible/ruby/dsl_builders/play'
2
+ require 'ansible/ruby/models/playbook'
3
+ require 'ansible/ruby/models/tasks'
4
+
5
+ module Ansible
6
+ module Ruby
7
+ module DslBuilders
8
+ class FileLevel < Base
9
+ def initialize
10
+ @plays = []
11
+ @tasks_builder = nil
12
+ @context = nil
13
+ end
14
+
15
+ def play(name = nil, &block)
16
+ if @context == :tasks
17
+ raise 'This is a tasks file due to a task coming before this play, cannot use play here!'
18
+ end
19
+ @context = :playbook
20
+ play_builder = Play.new name
21
+ @plays << play_builder.evaluate(&block)
22
+ end
23
+
24
+ def task(name, &block)
25
+ if @context == :playbook
26
+ raise 'This is a playbook file due to a play coming before this task, cannot use task here!'
27
+ end
28
+ @context = :tasks
29
+ @tasks_builder ||= Tasks.new
30
+ @tasks_builder.task name, &block
31
+ end
32
+
33
+ def evaluate(*)
34
+ super
35
+ case @context
36
+ when :playbook
37
+ # TODO: Add a playbook DSL and do this like tasks
38
+ Models::Playbook.new plays: @plays
39
+ when :tasks
40
+ @tasks_builder.evaluate {}
41
+ else
42
+ raise "Unknown context #{@context}"
43
+ end
44
+ end
45
+
46
+ def process_method(id, *)
47
+ raise "undefined local variable or method `#{id}'"
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,50 @@
1
+ require 'ansible/ruby/dsl_builders/base'
2
+ require 'ansible/ruby/dsl_builders/args'
3
+ require 'ansible/ruby/modules/base'
4
+ require 'ansible/ruby/modules/custom/free_form'
5
+
6
+ module Ansible
7
+ module Ruby
8
+ module DslBuilders
9
+ class ModuleCall < Base
10
+ MODULES_MOD = Ansible::Ruby::Modules
11
+
12
+ def respond_to_missing?(method_name, _)
13
+ klass_name = klass_name method_name
14
+ MODULES_MOD.const_defined?(klass_name) || super
15
+ end
16
+
17
+ private
18
+
19
+ def klass_name(id)
20
+ id.to_s.capitalize
21
+ end
22
+
23
+ def process_method(id, *module_args, &block)
24
+ raise "Unknown module #{id}" unless respond_to_missing? id, true
25
+ module_klass = MODULES_MOD.const_get klass_name(id)
26
+ free_form_module = module_klass.include?(Ansible::Ruby::Modules::FreeForm)
27
+ if module_args.any? && !free_form_module
28
+ raise "Can't use arguments #{module_args} on this type of module"
29
+ end
30
+ free_form = free_form_arg(module_args) if free_form_module
31
+ # Delegate everything to the args builder and apply it to the module class we located
32
+ module_builder = Args.new
33
+ args = module_builder.evaluate(&block)
34
+ args[:free_form] = free_form if free_form
35
+ @result = module_klass.new(args)
36
+ @result.validate!
37
+ end
38
+
39
+ def free_form_arg(module_args)
40
+ if module_args.any?
41
+ raise 'Expected only 1 argument for this type of module' if module_args.length > 1
42
+ module_args[0]
43
+ else
44
+ raise 'Expected 1 argument for this type of module'
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,53 @@
1
+ require 'ansible/ruby/models/play'
2
+ require 'ansible/ruby/dsl_builders/tasks'
3
+
4
+ module Ansible
5
+ module Ruby
6
+ module DslBuilders
7
+ class Play < Tasks
8
+ def initialize(name = nil)
9
+ super()
10
+ @playbook_args = {}
11
+ @playbook_args[:name] = name
12
+ end
13
+
14
+ def hosts(value)
15
+ @playbook_args[:hosts] = value
16
+ end
17
+
18
+ def roles(value)
19
+ @playbook_args[:roles] = value
20
+ end
21
+
22
+ def connection(value)
23
+ @playbook_args[:connection] = value
24
+ end
25
+
26
+ def user(value)
27
+ @playbook_args[:user] = value
28
+ end
29
+
30
+ def serial(value)
31
+ @playbook_args[:serial] = value
32
+ end
33
+
34
+ def gather_facts(value)
35
+ @playbook_args[:gather_facts] = value
36
+ end
37
+
38
+ def local_host
39
+ hosts 'localhost'
40
+ connection :local
41
+ end
42
+
43
+ def evaluate(*)
44
+ tasks = super
45
+ args = @playbook_args.merge({})
46
+ # Don't want to trigger validation
47
+ args[:tasks] = tasks if tasks.tasks.any?
48
+ Models::Play.new args
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,33 @@
1
+ module Ansible
2
+ module Ruby
3
+ module DslBuilders
4
+ class Result
5
+ def initialize(counter, register_set)
6
+ @name = "result_#{counter}"
7
+ # Until the variable is utilized, we don't know if 'register' should be set, the supplied lambda
8
+ # allows us to set register on the task
9
+ @register_set = register_set
10
+ end
11
+
12
+ # we need to respond to everything, don't want super
13
+ # rubocop:disable Style/MethodMissing
14
+ def method_missing(id, *args)
15
+ register_needed
16
+ flat_args = args.map(&:inspect).map(&:to_s).join ', '
17
+ "#{@name}.#{id}#{flat_args.empty? ? '' : "(#{flat_args})"}"
18
+ end
19
+ # rubocop:enable Style/MethodMissing
20
+
21
+ def respond_to_missing?(*)
22
+ true
23
+ end
24
+
25
+ private
26
+
27
+ def register_needed
28
+ @register_set[@name]
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,94 @@
1
+ require 'ansible/ruby/dsl_builders/base'
2
+ require 'ansible/ruby/dsl_builders/module_call'
3
+ require 'ansible/ruby/dsl_builders/result'
4
+ require 'ansible/ruby/models/task'
5
+
6
+ module Ansible
7
+ module Ruby
8
+ module DslBuilders
9
+ class Task < Base
10
+ def initialize(name)
11
+ super()
12
+ @module = nil
13
+ @temp_counter = 0
14
+ @name = name
15
+ @task_args = {}
16
+ end
17
+
18
+ def evaluate(*)
19
+ super
20
+ args = {
21
+ module: @module,
22
+ name: @name
23
+ }.merge @task_args
24
+ task = Models::Task.new args
25
+ task.validate!
26
+ task
27
+ end
28
+
29
+ def become(*args)
30
+ value = implicit_bool args
31
+ @task_args[:become] = value
32
+ end
33
+
34
+ def become_user(value)
35
+ @task_args[:become_user] = value
36
+ end
37
+
38
+ def changed_when(clause)
39
+ @task_args[:changed_when] = clause
40
+ end
41
+
42
+ def failed_when(clause)
43
+ @task_args[:failed_when] = clause
44
+ end
45
+
46
+ def ansible_when(clause)
47
+ @task_args[:when] = clause
48
+ end
49
+
50
+ def with_dict(clause)
51
+ @task_args[:with_dict] = clause
52
+ end
53
+
54
+ def async(value)
55
+ @task_args[:async] = value
56
+ end
57
+
58
+ def poll(value)
59
+ @task_args[:poll] = value
60
+ end
61
+
62
+ def notify(value)
63
+ @task_args[:notify] = value
64
+ end
65
+
66
+ def ignore_errors(*args)
67
+ value = implicit_bool args
68
+ @task_args[:ignore_errors] = value
69
+ end
70
+
71
+ def respond_to_missing?(*)
72
+ !@module || super
73
+ end
74
+
75
+ private
76
+
77
+ def process_method(id, *args, &block)
78
+ # only 1 module, so don't try and do this again
79
+ raise "undefined local variable or method `#{id}'" if @module
80
+ module_call_builder = ModuleCall.new
81
+ module_call_builder.send(id, *args, &block)
82
+ @module = module_call_builder.result
83
+ end
84
+
85
+ def method_missing_return(_id, _result, *_args)
86
+ # method_missing only used for modules here
87
+ # Keep our register variables unique
88
+ @temp_counter += 1
89
+ Result.new(@temp_counter, ->(name) { @task_args[:register] = name })
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,28 @@
1
+ # See LICENSE.txt for license
2
+ require 'ansible/ruby/dsl_builders/task'
3
+
4
+ module Ansible
5
+ module Ruby
6
+ module DslBuilders
7
+ class Tasks < Base
8
+ def initialize
9
+ @tasks = []
10
+ end
11
+
12
+ def task(name, &block)
13
+ task_builder = Task.new name
14
+ @tasks << task_builder.evaluate(&block)
15
+ end
16
+
17
+ def evaluate(*)
18
+ super
19
+ Models::Tasks.new tasks: @tasks
20
+ end
21
+
22
+ def process_method(id, *)
23
+ raise "undefined local variable or method `#{id}'"
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,83 @@
1
+ require 'active_model'
2
+ require 'ansible/ruby/models/type_generic'
3
+ require 'ansible/ruby/models/multiple_types'
4
+ require 'ansible/ruby/models/type_validator'
5
+
6
+ module Ansible
7
+ module Ruby
8
+ module Models
9
+ class Base
10
+ include ActiveModel::Model
11
+ include ActiveModel::Validations
12
+
13
+ def initialize(args = {})
14
+ super
15
+ @set_vars = args.keys
16
+ end
17
+
18
+ class << self
19
+ def attribute(name, options = {})
20
+ attr_accessor name
21
+ @attr_options ||= {}
22
+ for_name = @attr_options[name] ||= {}
23
+ for_name.merge! options
24
+ end
25
+
26
+ def attr_options(name)
27
+ @attr_options[name]
28
+ end
29
+
30
+ def validates(*attributes)
31
+ super
32
+ # avoid having to dupe this in the :attribute call
33
+ hash = attributes.length > 1 && attributes[1]
34
+ type_validator = hash && hash[:type]
35
+ return unless type_validator
36
+ if type_validator.is_a?(TypeGeneric)
37
+ name = attributes[0]
38
+ for_name = @attr_options[name] ||= {}
39
+ for_name[:generic] = type_validator.klass
40
+ end
41
+ end
42
+ end
43
+
44
+ def to_h
45
+ validate!
46
+ Hash[
47
+ @set_vars.map do |key|
48
+ value = send key
49
+ options = self.class.attr_options(key)
50
+ value = hashify value
51
+ generic_type = options[:generic]
52
+ value = convert_generic generic_type, value if generic_type
53
+ key = options[:original_name] || key
54
+ [key, value]
55
+ end.compact]
56
+ end
57
+
58
+ private
59
+
60
+ def hashify(value)
61
+ case value
62
+ when Array
63
+ value.map { |val| val.respond_to?(:to_h) ? val.to_h : val }
64
+ when Base
65
+ value.to_h
66
+ else
67
+ value
68
+ end
69
+ end
70
+
71
+ def convert_generic(generic_type, value)
72
+ # hash friendly of [*value]
73
+ case value
74
+ when generic_type
75
+ [value]
76
+ else
77
+ value
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end